-
Die Erfindung betrifft allgemein Systeme zum Verarbeiten
von Zeicheninformationen, die von einer Eingabevorrichtung
zugeführt werden und um Zeicheninformationen für ein
Druckgerät vorzusehen. Die Erfindung betrifft speziell ein
solches System, bei welchem Zeicheninformationen in einem
Korrekturpufferspeicher gespeichert werden.
-
Es gibt eine Anzahl von Systemen, die Zeicheninformationen
von einer Eingabevorrichtung verarbeiten, um ein
Druckgerät zu treiben. Typischerweise hat die Eingabevorrichtung
die Form eines Tastenfeldes und die Zeicheninformationen,
die verarbeitet werden, bestehen aus ankommenden
Tastenanschlägen. Gewöhnlich erzeugen solche Systeme auch
Zeicheninformationen, die von den ankommenden Tastenanschlägen
abgeleitet wurden, um sie einer Anzeigeeinrichtung als
auch einem Drucker zuzuführen.
-
Eine elektronische Schreibmaschine enthält beispielsweise
allgemein ein Tastenfeld, eine
Einzelzeileanzeigevorrichtung, ein Druckgerät und ein Betriebssystem, um eine
Kopplung zwischen dem Tastenfeld, der Anzeige und dem Drucker
zu erreichen. Gewöhnlich sind die Anzeigevorrichtung, die
Druckeranordnung und die Betriebssystemschaltungsanordnung
in einer einzelnen Einheit enthalten.
-
Als weiteres Beispiel kann ein Personal-Computer-System
mit einer Software-Steuerung betrieben werden, um als eine
elektronische Schreibmaschine zu funktionieren. Ein
solches System enthält eine Mikrocomputer-Systemeinheit, ein
Tastenfeld, eine Anzeigevorrichtung und einen Drucker.
-
Bei dem zuerst erwähnten Beispiel eines elektronischen
Schreibmaschinensystems betätigt eine Bedienungsperson
Tasten auf dem Tastenfeld und die Tastenanschläge werden
zu einem Betriebssystem auf Mikroprozessorbasis in der
Schreibmaschine gekoppelt. Das Betriebssystem arbeitet
derart, um Informationen für die Anzeige und die
Drukkeranordnung vorzusehen und besitzt einen zugeordneten
Speicher, um Tastenanschlags-Informationen, die von den
Tastenanschlägen entwickelt wurden, zu speichern und
wieder auffinden zu können.
-
Bei einem derartigen elektronischen Schreibmaschinensystem
werden Tastenanschläge verarbeitet, um geeignete
Tastenanschlag-Informationen in eine Speicherstelle
einzuschreiben, die als Korrekturpufferspeicher bekannt ist, die
beispielsweise Tastenanschlags-Informationen enthält, die
auf eine einzelne Zeile des alphanummerischen Textes
bezogen sind. Die Tastenanschlags-Informationen verbleiben in
dem Korrekturpufferspeicher, so daß eine Bedienungsperson
über das Tastenfeld Abänderungen hinsichtlich der
gespeicherten Textzeile eingeben kann wie beispielsweise das
Weglassen von Schriftzeichen oder Änderungen von
Schriftzeichen.
-
Bei herkömmlichen elektronischen Schreibmaschinendesigns
wurden Schriftzeichen in den Korrekturpufferspeicher in
einer eindimensionalen Anordnung im Speicher gespeichert.
Diese Anordnung von Schriftzeichen wurde vermischt mit
speziellen Codes, wie beispielsweise tab-Stellen,
Überschläge und zentrierten Textangaben. Es mußten dann
relativ
komplexe Algorithmen verwendet werden, um den
Korrekturpufferspeicher abzutasten, um einen bestimmten
Buchstaben oder mehrere Buchstaben, die mit speziellen Codes
vermischt waren, zu lokalisieren.
-
In solchen Systemen werden von dem Betriebssystem Zeiger
gehalten, um die laufenden Positionen anzuzeigen, um
Tastenanschlag-Informationen dem Korrekturpufferspeicher
hinzuzufügen und um einen Buchstaben der Anzeige
hinzuzufügen. Ein Zeiger wurde auch für die Position des
Druckkopfes entlang der laufenden Druckzeile am Drucker
aufrechterhalten. Wenn Tastenanschläge über das Tastenfeld
eingegeben wurden, wurden Tastenanschlag-Informationen in
den Korrekturpufferspeicher hinzugefügt bzw. eingegeben
und ebenso zum Anzeige-Speicher und wurden zum Drucker
gesendet, um den Druckkopf in der erforderlichen Weise
zu bewegen. Wenn die Tastenanschläge verarbeitet wurden,
wurden die verschiedenen Zeiger auf den neuesten Stand
gebracht, so daß die Korrekturstellen für die Eingabe der
nachfolgenden Tastenanschlags-Informationen bekannt waren.
-
Wenn bei solchen Systemen Druckkopf-Bewegungsbefehle wie
beispielsweise tab-Befehle von dem Tastenfeld empfangen
werden, müssen die Zeicheninformationen gemischt mit den
speziellen Codes, die in dem Korrekturpufferspeicher
enthalten sind, in einer relativ zeitaufwendigen Weise
abgetastet werden, um den richtigen Wert zu bestimmen, für
welchen der Korrekturpufferspeicher-Zeiger auf den
neuesten Stand zu bringen ist.
-
Es ist auch schwierig, Operationen abhängig von einer
spezifischen Lage der Zeichen auf dem Papier durch den
Druckmechanismus auszuführen. Es war beispielsweise
schwierig, einen neuen Text auf der linken Seite eines
existierenden Textes auf einer Zeile zu zentrieren und
auch schwierig, verschiedene Funktionen zu verwenden wie
beispielsweise das Unterstreichen innerhalb eines
zentrierten Textes aufgrund der Komplexität der Ausführung
der Zentrierung in Verbindung mit der Eingabe von
speziellen Druckcodes in den Korrekturpufferspeicher.
-
In einigen Fällen besitzt die Anzeigeeinrichtung eine
Kapazität, die geringer ist als die
Zeichenspeicherkapazität des Korrekturpuf ferspeichers. Dies führt zu dem
Bedürfnis, die Anzeige neu zu schreiben (den
Anzeigespeicher neu einzuspeichern) wenn sich das Betriebssystem zu
verschiedenen Stellen in dem Korrekturpufferspeicher
bewegt. Es war auch schwierig und zeitaufwendig, dies vom
Korrekturpufferspeicher aus zu tun mit den Folgen der
Buchstaben bzw. Zeichen und Spezialcodeinformationen.
-
Die FR 2431374 offenbart eine elektronische
Schreibmaschine, die ein Tastenfeld, eine Druckeinheit, eine
Steuereinheit und verschiedene Speicher umfaßt und die Zeichen
speichern kann, die von dem Tastenfeld eingegeben werden
als auch Steuerinformationen hinsichtlich der Editierung
des zu druckenden Textes speichern kann. Die gespeicherten
Informationen können geändert werden und von der
Bedienungsperson wieder aufgerufen werden. Ein Tastenfeld
spezial ROM speichert Informationen hinsichtlich aller
möglicher Symbole, die gedruckt werden können. Jedes
Symbol belegt 16 Bits, die Parameter definieren wie
beispielsweise die Lage des Typenrades, eine
Unterstreichung, Intensität des Anschlags usw. Ein nicht flüchtiger
Speicher speichert Informationen hinsichtlich der
Tabulierung, Ränder und konstanter Phrasen. Zwei RAMs speichern
Daten, die für die Überwachung der Schreibmaschine
verwendet werden. Es müssen ferner Abstandsinformationen
gespeichert werden, welche den Abstand angeben, der am Druckkopf
ausgeführt werden muß, um die nächste Druckstelle zu
erreichen.
Es ist daher schwierig genau zu bestimmen, wo
jeder Buchstabe oder Zeichen gedruckt wird und es ist
erforderlich, eine große Zahl von gespeicherten Daten
abzufragen oder abzutasten, was auch zeitaufwendig ist.
-
Es ist die allgemeine Aufgabe der vorliegenden Erfindung
eine verbesserte Korrekturpufferspeicherstruktur zu
schaffen, durch die eine Reihe von Nachteilen beseitigt wird,
die zuvor aufgeführt wurden in Verbindung mit den
Korrekturpufferspeichern, die in früheren Systemen verwendet
wurden.
-
Nach der vorliegenden Erfindung wird ein System zum
Drukken von Zeichen auf einem Druckmedium abhängig von der
Eingabe von Zeicheninformationen von einer
Eingabevorrichtung geschaffen, welches einen Korrekturpufferspeicher
enthält, um Zeicheninformationen von der
Eingabevorrichtung zu speichern, wobei der Korrekturpufferspeicher eine
Gruppe von Aufzeichnungen aufweist, dadurch
gekennzeichnet, daß jede Aufzeichnung einem inkrementellen Abstand
auf dem Druckmedium entspricht und daß die
Aufzeichnungen in dem Korrekturpufferspeicher im wesentlichen
identisch sind, wobei jede Aufzeichnung oder Eintrag dem
gleichen inkrementellen Abstand auf dem Druckmedium
entspricht.
-
Bei einem Ausführungsbeispiel nach der Erfindung ist der
Korrekturpufferspeicher in einem Personal-Computer-System
eingebaut, der unter der Steuerung der Software arbeitet,
um den Betrieb einer Schreibmaschine zu simmulieren. Bei
diesem System speichert der Korrekturpufferspeicher die
Informationen für eine Textzeile in einer Folge von
identischen Zellen oder Aufzeichnungen. Eine Aufzeichnung
enthält alle Informationen, die erforderlich sind, um den
Text zu beschreiben, der an einer Stelle auf dem Medium
vorhanden ist, auf welchem die Informationen zu drucken
sind.
-
Es ist möglich, auf einfache Weise den
Korrekturpufferspeicher vollständig abzutasten oder abzufragen, da eine
Reihe von identischen Aufzeichnungen abgetastet wird. Es
besteht daher keine Forderung jedes Byte des
Speichereintrags in dem Korrekturpufferspeicher während der Abtastung
oder Abfragung zu interpretieren und zu verarbeiten, um zu
bestimmen, ob die Bytes des Speichereintrags repräsentativ
für Zeichen sind oder Spezialcodes sind, die
unterschiedliche Längen haben können.
-
Da jeder Eintrag auf eine spezifische X-Position auf dem
Papier bezogen ist, ist es in vorteilhafter Weise einfach
zu bestimmen, wo jedes Zeichen gedruckt wird. Die Software
zur Handhabung des Textes, der in dieser Weise gespeichert
ist, ist ausreichend flexibel, um sie bei speziellen
Operationen verwenden zu können wie beispielsweise bei einer
Zentrierung, so daß dadurch nahezu alle Operationen in
einer solchen Betriebsweise zugelassen werden, die beim
normalen Schreibvorgang zugelassen sind. Wenn die
Anzeige neu geschrieben werden muß und zwar von einem Abschnitt
des Korrekturpufferspeichers, kann auch dies unmittelbar
realisiert werden. Bei der Verwendung dieser Form eines
Korrekturpufferspeichers wird eine X-Variable (eine
Programmvariable, welche die laufende X-Position in dem
Korrekturpufferspeicher anzeigt) auf den neuesten Stand
gebracht, wenn die Tastenanschlaginformationen verarbeitet
werden und in den Aufzeichnungen in dem
Korrekturpufferspeicher abgelegt werden. Es wird die Stelle der
Tastenanschlags-Information, die zur Anzeige zu übertragen ist,
berechnet und zwar basierend auf der
Korrekturpufferspeicher X-Position und die Druckposition auf dem Papier
entspricht dem laufenden variablen Wert der
Korrekturpufferspeicher
X-Position. Es gibt auch keine speziellen
Codes, welche die Korrekturpufferspeicher-Aufzeichnungen
oder Eintragungen unterbrechen, die zu dem Zweck
verarbeitet werden müssen, um eine Zeigerstelle für den
Korrekturpufferspeicher zu bestimmen. Wenn beispielsweise
Druckkopfbewegungsbefehle verarbeitet werden, sind keine
komplexen Berechnungen erforderlich, um die neue X-Position
in dem Korrekturpufferspeicher zu finden, da die
Korrekturpufferspeicherstellen direkt den Druckkopfpositionen
entlang einer Zeile auf dem Papier entsprechen.
-
Weitere Merkmale und Vorteile der Erfindung und die Art
und Weise ihrer Ausführung ergibt sich durch Lesen der
folgenden detailierten Beschreibung eines bevorzugten
Ausführungsbeispiels der Erfindung, welches nur als
Beispiel aufzufassen ist und unter Hinweis auf die
beigefügten Zeichnungen, in welchem zeigen:
-
Fig. 1 ein Blockschaltbild eines Personal-Computer-
Systems, in welchem die vorliegende Erfindung
realisiert ist;
-
Fig. 2 eine schematische Darstellung eines Abschnitts
eines Korrekturpufferspeichers nach der
vorliegenden Erfindung;
-
Fig. 3 ein Flußlaufplan eines
Schreibmaschinenanwendungsprogramms für das Personal-Computer-System
der Fig. 1;
-
Fig. 4 einen Flußlaufplan der Hauptfunktionen der
Schreibmaschinenschleife in dem
Schreibmaschinenprogramm der Fig. 3;
-
Fig. 5 einen Flußlaufplan einer Routine, um
Tastenanschlagsinformationen
an den
Korrekturpufferspeicher zu senden, die in der
Schreibmaschinenschleife der Fig. 4 enthalten ist;
-
Fig. 6A eine schematische Darstellung eines Abschnitts
eines Korrekturpufferspeichers nach der Erfindung;
-
Fig. 6B die Positionierung der Zeichen auf dem Papier
entsprechend der Korrekturpuffer-Informationen
der Fig. 6A;
-
Fig. 7A eine schematische Darstellung eines Abschnitts
eines Korrekturpufferspeichers nach der
vorliegenden Erfindung;
-
Fig. 7B die Positionierung der Zeichen auf dem Papier
entsprechend den
Korrekturpufferspeicher-Informationen der Fig. 7A;
-
Fig. 8A eine schematische Darstellung eines Abschnitts
eines Korrekturpufferspeichers nach der
vorliegenden Erfindung;
-
Fig. 8B das Positionieren der Zeichen auf dem Papier
entsprechend den
Korrekturpufferspeicher-Informationen der Fig. 8A;
-
Fig. 9 einen Flußlaufplan einer Routine für die
Darstellung eines Zeichens, die in der
Schreibmaschinenschleife der Fig. 4 enthalten ist;
-
Fig. 10 ein Flußlaufplan einer "gehe rechts"-Routine, die
in der Schreibmaschinenschleife der Fig. 4
verwendet wird;
-
Fig. 11 einen Flußlaufplan einer "gehe links"-Routine,
die in einem Abschnitt des Prozesstastenschrittes
der Schreibmaschinenschleife der Fig. 4 verwendet
wird;
-
Fig. 12 einen Flußlaufplan einer "bewege Anzeigecursor"-
Routine, die in der Schreibmaschinenschleife der
Fig. 4 verwendet wird;
-
Fig. 13 einen Flußlaufplan einer "Tab"-Routine, die in
dem "Prozesstasten"-Schritt der
Schreibmaschinenschleife der Fig. 4 verwendet wird;
-
Fig. 14 einen Flußlaufplan einer "Prozesslösch"-Routine,
die in dem "Prozesstasten"-Schritt der
Schreibmaschinenschleife der Fig. 4 verwendet wird; und
-
Fig. 15 einen Flußlaufplan einer "entferne
Zeichen"-Routine, die in dem Prozesstasten-Schritt der
Schreibmaschinenschleife der Fig. 4 verwendet
wird.
-
Es sei zunächst auf Fig. 1 eingegangen, die ein Personal-
Computersystem 10 zeigt, welches eine Systemeinheit 11
enthält, die verbunden ist mit einem Tastenfeld 12, einer
Anzeigevorrichtung 13 und einem Drucker 14. Bei der
veranschaulichten Ausführungsform der Erfindung umfaßt das
Personal-Computersystem 10 eine
Personal-Computersystemeinheit mit einem Mikroprozessor aus der Intel 8086/8088
Familie der Mikroprozessoren. Die Systemeinheit 11 enthält
einen Plattenantrieb zum Einladen von Anwendungssoftware
und von Betriebssystem-Software und enthält geeignete
Schnittstellen bzw. Kupplungseinrichtungen zu der
Anzeigevorrichtung 13 und dem Drucker 14. Die Systemeinheit 11
35 ist an das Tastenfeld über ein Standard-zwei Richtungs-
Serieninterface gekoppelt und ist mit dem Drucker 14 über
ein Standard-Parallel-Drucker-Interface gekoppelt. Die
Systemeinheit 11 steht unter der Steuerung eines Disk-
Betriebssystems (DOS) und eines
Grundeingabe/Ausgabesystems (BIOS), die unter anderen Dingen ein Video RAM
Speichersegment für die Darstellung von Informationen
definieren.
-
Im vorliegenden Fall wird die Systemeinheit 11 unter der
Steuerung eines Anwendungsprogramms betrieben, welches den
Betrieb einer elektronischen Schreibmaschine nachahmt.
Diese Software definiert Speicherstellen innerhalb eines
Korrekturpufferspeichers zum Speichern einer laufenden
Textzeile. In einer "Tasten-zu-Drucken"-Betriebsweise
werden dann, wenn die Tastenanschläge an dem Tastenfeld 12
eingegeben werden, die Tastenanschläge zu der
Systemeinheit 11 gekoppelt und verarbeitet. Wenn die
Tastenanschläge von dem Tastenfeld 12 verarbeitet werden, werden die
Zeichen, die durch die Tastenanschläge definiert sind, an
der Anzeigevorrichtung 13 dargestellt und werden durch den
Drucker 14 auf Papier gedruckt. Dieses System kann auch in
einer "Verzögerungsdruck" -Betriebsart betrieben werden, in
welcher Zeichen abhängig von Tastenanschlägen, wenn die
Tastenanschläge in das Tastenfeld eingegeben werden,
dargestellt werden, wobei aber das Drucken verzögert wird und
später ausgeführt wird und zwar auf einer Zeile-um Zeile-
Grundlage.
-
Gemäß der Erfindung definiert das Anwendungsprogramm
Speicherstellen, die einen Korrekturpufferspeicher zum
speichern einer laufenden Textzeile ausmachen und es werden
die Korrekturpufferspeicher-Speicherstellen zu
spezifischen Stellen des Druckkopfes entlang einer Zeile eines
gedruckten Textes korreliert. Gemäß Fig. 2 macht eine
Gruppe von Aufzeichnungen (records) 16 einen Abschnitt
eines Korrekturpufferspeichers 17 aus, der nach der
vorliegenden Erfindung ausgebildet ist. Der
Korrekturpufferspeicher 17 besteht aus einer Anordnung, die
ausgebildet wird nach der Initialisierung eines
Schreibmaschinensimulations-Anwendungsprogramms. Jede Aufzeichnung in
dem Korrekturpufferspeicher enthält einen
ASCII-Codezeichen (oder graphischen) Abschnitt und einen
Attributabschnitt 19. Bei dem vorliegenden Korrekturpufferspeicher
hat ein Zeichenabschnitt einer Aufzeichnung eine Länge von
einem 8-Bit-Byte und der Attributabschnitt einer
Aufzeichnung hat ebenfalls eine Länge von einem 8-Bit-Byte, welches
8 Attribut-Bits enthält.
-
Eine Aufzeichnung in diesem Korrekturpufferspeicher
entspricht 1/60 eines inch (hier als "Einheitsraum"
bezeichnet) entlang einer Zeile auf dem Papier in dem Drucker.
Wenn daher eine Stelle in dem Korrekturpufferspeicher
bekannt ist, ist auch eine Stelle eines Zeichens auf dem
Papier bekannt, die wiederum eine bekannte Position für
den Druckkopf zum Drucken des Zeichens vorsieht. Die
Stelle oder Lage des Zeichens in der Anzeigevorrichtung kann
ebenfalls aus der Korrekturpufferspeicherposition
abgeleitet werden basierend auf der relativen Größe der Anzeige
und des Korrekturpufferspeichers. In vorteilhafter Weise
sind die Korrekturpufferspeicher-Aufzeichnungen durch
aufeinanderfolgende Adressen bezeichnet , um die Korrelation
zwischen den Aufzeichnungen und den Druckkopfpositionen zu
vereinfachen.
-
Bei dem vorliegenden System werden Zeichen in Stufen von
10, 12 oder 15 gedruckt (Zeichen pro Inch). Da 60
Einheitsräume pro Inch vorhanden sind und damit 60
Korrekturpufferspeicheraufzeichnungen pro Inch, ergeben sich bei
der Stufe 10 dann 6 Aufzeichnungen pro Zeichenposition auf
dem Papier. Bei der Stufe 12 ergeben sich 5 Aufzeichnungen
pro Zeichenposition und bei der Stufe 15 ergeben sich 4
Aufzeichnungen in dem Korrekturpufferspeicher pro
Zeichenposition. Wenn bei dem vorliegenden System Zeichen mit
"Doppelweite" gedruckt werden, sind die Zeichen effektiv
"gestreckt" und zwar über zwei Zeichenpositionen und jedes
Doppelweitezeichen beispielsweise bei der Stufe 10
entspricht daher 12 Aufzeichnungen in dem
Korrekturpufferspeicher. In analoger Weise entsprechen 10
Korrekturpufferspeicher-Aufzeichnungen einer Doppelweite oder einem
erweiterten Buchstaben bei der Stufe 12 und bei der
erweiterten Stufe 15 sind 8
Korrekturpufferspeicher-Aufzeichnungen pro Zeichenposition vorhanden. Bei den folgenden
veranschaulichten Beispielen wird ein Betrieb des Systems in
der Stufe 10, nicht erweitert, angenommen. Die in Fig. 2
gezeigten Aufzeichnungen entsprechen daher den 6
Aufzeichnungen für eine Zeichenweite oder Breite.
-
Nachdem die Korrekturpuff erspeicher-Aufzeichnungen erzeugt
worden sind und initialisiert wurden, bevor die
Tastenanschlag-Information verarbeitet wurde und in den
Korrekturpufferspeicher gelangt ist, wird jede Aufzeichnung so
hergestellt, daß sie den ASCII Code für einen Raum enthält
(gezeigt als dezimale "32") in dem Zeichenbyte der
Aufzeichnung und jede Aufzeichnung enthält acht Bits, die auf
Nullen in dem Attributbyte der Aufzeichnung gesetzt sind.
-
Im Betrieb ermöglicht die Schreibmaschinensimulations-
Software, welche den Korrekturpufferspeicher verwendet,
die Nachahmung einer elektronischen Schreibmaschine durch
ein Personal Computer System 10 der Fig. 1. Gemäß Fig. 3
wird bei der Ausführung der Schreibmaschinensimulations-
Software durch den Prozessor in der Personal Computer
System-Einheit 11 zunächst das System initialisiert
(umfassend die Erzeugung und die Initialisierung des
Korrekturpuf ferspeichers) und es wird dann eine
Schreibmaschinenprogramm-Hauptschleife
ausgeführt. Unter zusätzlichen
Hinweis auf Fig. 4 besteht eine Hauptaktivität in der
Schreibmaschinenprogramm-Hauptschleife aus dem Prozess der
Schleifenbildung, um Tastenanschläge aufzunehmen oder
einzufangen und um die geeigneten
Tastenanschlags-Informationen dem Drucker zuzuführen, ebenso der Anzeigevorrichtung
und dem Korrekturpufferspeicher zuzuführen. Unter Hinweis
auf Fig. 4 bestimmt bei der Schleifenbildung zum Einfangen
von Tastenanschlägen der Prozessor zunächst ob eine Taste
angeschlagen wurde und wenn der Prozessor einmal erkannt
hat, daß eine Taste angeschlagen worden ist, wird die
Taste bzw. deren Anschlag verarbeitet. In einigen Fällen
sind die Tastenanschlagsdaten, die von dem Tastenfeld
empfangen werden, nicht repräsentativ für ein graphisches
Zeichen, welches dargestellt und gedruckt werden soll. In
einigen Fällen fordert ein Tastenanschlag eine
Betriebsartenänderung wie beispielsweise einen Befehl, um
aufeinanderfolgend Buchstaben in der erweiterten (Doppelbreite)
Betriebsart zu drucken. Weitere nicht graphische
Tastenanschläge umfassen Drucker-oder Papierbewegungsbefehle und
ähnliches. Für den vorliegenden Zweck der Erläuterung des
Korrekturpufferspeichers, konzentriert sich die Diskussion
primär auf die Verarbeitung der Tastenanschläge, die für
graphische Zeichen repräsentativ sind. Bestimmte
veranschaulichende Beispiele der Verarbeitung von nicht
graphischen Tastenanschlägen sollen im folgenden gegeben werden,
wobei deren Beziehung zu der
Korrekturpufferspeicherstruktur gezeigt wird, die hier beschrieben ist.
-
Wenn gemäß Fig. 4 der Tastenanschlag nicht repräsentativ
für eine graphische Zeichentaste ist (oder eine Taste, die
als graphische Taste zu verarbeiten ist, wie dies im
folgenden beschrieben werden soll), kehrt der Prozessor
zurück (welcher bereits den Tastenanschlag verarbeitet hat)
und fährt in der Schleifenbildung fort, wonach er nach
zusätzlichen Tasten Ausschau hält.
-
Wenn die Taste, die niedergedrückt wurde, repräsentativ
für ein graphisches Zeichen ist, hat der "Prozesstasten"-
Schritt bereits im wesentlichen die Taste passiert bis zu
der "graphischen Taste"-Entscheidungsstelle. Dann sendet
der Prozessor Tastenanschlagsinformationen für das
graphische Zeichen zu der geeigneten Stelle in dem
Korrekturpufferspeicher. Diese Prozedur soll anschließend mehr im
einzelnen beschrieben werden. Der Prozessor bestimmt als
nächstes, ob sich das System in einer direkten Tasten-zu-
Druck-Betriebsart befindet und wenn dies der Fall ist,
sendet dieser die geeignete Druckinformation zum Drucker.
Der Prozessor bewirkt dann die Anzeige des graphischen
Zeichens an der Anzeigevorrichtung, bewegt sich nach
rechts in dem Korrekturpufferspeicher (zur nächsten
Zeichenposition, wie dies noch im folgenden beschrieben
werden soll) und bewegt den Anzeige-Cursor. Jede dieser drei
Operationen sollen im folgenden mehr im einzelnen
beschrieben werden.
-
Gemäß Fig. 5 wird im folgenden der Prozess des Sendens
einer Tastenanschlaginformation an den
Korrekturpufferspeicher mehr im einzelnen beschrieben. Beim Verarbeiten
eines graphischen Zeichen-Tastenanschlags bestimmt der
Prozessor zunächst, ob der Tastenanschlag das
Niederdrükken der Leertaste am Tastenfeld wiedergibt. Wenn die
Leertaste niedergedrückt worden ist und sich das System nicht
in der Unterstreichungs-Betriebsart befindet, kehrt der
Prozessor von der Routine zum Aussenden von
Tastenanschlagsinformationen zum Korrekturpufferspeicher zurück
und die Inhalte des Korrekturpufferspeichers werden nicht
geändert. Wenn die Taste die Leertaste war und die
Unterstreichungs-Betriebsart eingeschaltet ist, wird der
Tastenanschlag in ein graphisches Unterstreichungszeichen
umgewandelt. Das graphische Unterstreichungszeichen oder
ein Nicht-Leertastenschlüssel (key) wird dann in den
Korrekturpufferspeicher
eingegeben, wie dies noch beschrieben
werden soll.
-
Vor der Erläuterung der Eingabe einer Zeicheninformation
in den Korrekturpufferspeicher sollen bestimmte
beschreibende Ausdrücke definiert werden, die in Verbindung mit
den Aufzeichnungen in dem Korrekturpufferspeicher
verwendet werden. Die "X-Variable" oder "X-Position-Variable"
ist eine Veränderliche, die von der
Schreibmaschinensimulations-Software gehalten wird. Der Wert dieser
Veränderlichen (der X-Position) ist eine Stelle in dem
Korrekturpufferspeicher. Normalerweise ist diese Stelle eine
Adresse der Aufzeichnung, in welche die
Tastenanschlags-Information als nächstes geschrieben werden soll. Unter Hinweis
auf die Fig. 6-8 von denen jede einen Abschnitt eines
Korrekturpufferspeichers veranschaulicht, der nach der
vorliegenden Erfindung ausgebildet ist, liegt die X-Position
in dem Korrekturpufferspeicher links von der nächsten
Aufzeichnung (äquivalent zu einem Einheitsraum), wo die
Zeicheninformation in dem Korrekturpufferspeicher abzulegen
ist. Beispielsweise identifiziert das Bezugszeichen 21 in
Fig. 6A die X- Position am Anfang des in Fig. 6A gezeigten
Korrekturpufferspeichersegments. Hierbei soll das
Bezugszeichen 21 beispielsweise auch die Aufzeichnung angeben
und zwar rechts von dem Pfeil, im vorliegenden Fall die
Aufzeichnung, welche das Zeichen "A" enthält.
-
Wie abgeleitet werden kann ist die X-Position in dem
Korrekturpufferspeicher direkt auf die Position des
Druckkopfes am Drucker bezogen und zwar entlang der laufenden
Druckzeile auf dem Papier und dient auch als Grundlage
für die Bestimmung der Cursorlage in der
Anzeigevorrichtung.
-
Um mit den Definitionen der beschreibenden Ausdrücke
fortzufahren,
so soll ein "Wurzel-Zeichen" ein graphisches
Zeichen oder einen Raum bedeuten, das bzw. der in einer
Aufzeichnung in dem Korrekturpufferspeicher gespeichert
ist, der nicht überschlagen wird über dem oberen Bereich
eines anderen Zeichens. In Fig. 6A sind die Wurzelzeichen
beispielsweise mit den Bezugszeichen 21, 22, 23 und 31
angegeben. Auch in Fig. 7A sind Wurzelzeichen durch die
Bezugszeichen 24, 33 und 26, in Fig. 8A durch die
Bezugszeichen 27, 28, 29 und 32 angezeigt. Ein Wurzelzeichen,
welches keinen Raum darstellt, soll hier als ein
graphisches Wurzelzeichen bezeichnet werden.
-
Es sei nochmals erwähnt, daß wenn der
Korrekturpufferspeicher initialisiert wird, jeder graphische Zeichenabschnitt
einer Aufzeichnung einen ASCII Raum enthält (dezimal 32)
und jeder Attributabschnitt der Aufzeichnung alle (8)
Nullen enthält. Wenn ein Zeichen wie beispielsweise "A" in
Fig. 6A in den Korrekturpufferspeicher eingegeben wird,
wird der ASCII Code für ein großes "A" in den graphischen
Abschnitt der Aufzeichung 21 eingegeben und es wird keine
Änderung hinsichtlich der Attribut-Bits in dem
Attributabschnitt der Aufzeichnung vorgenommen. Nachfolgende
Aufzeichnungen werden ebenfalls geändert von einem ASCII Raum
zu einer ASCII Null (alle Bits sind null). Diese
nachfolgenden Aufzeichnungen werden als "fortgeführte"
Aufzeichnungen bezeichnet. Wie bereits an früherer Stelle
erläutert wurde, hängt die Zahl der aufeinanderfolgenden
(fortgeführten) Aufzeichnungen, die der Aufzeichnung, welche
das große "A" enthält, zugeordnet sind, von der Stufe
(pitch) des Druckers ab. Bei der als Beispiel gewählten
Situation einer Stufe von zehn enthält die Aufzeichnung 21
das große "A" und die fünf nachfolgenden Aufzeichnungen
werden geändert auf eine ASCII Null.
-
Ein "Raum" wird als eine Aufzeichnung definiert, die einen
ASCII Raum enthält und somit ist in dieser kein
graphisches Zeichen oder ASCII Null gespeichert obwohl ein
Unterstreichungs-Attributbit (eines von 8 Attributbits) an
dieser Stelle gesetzt oder nicht gesetzt sein kann. Siehe
beispielsweise die Aufzeichnungen 22 und 31 in Fig. 6A und
die Aufzeichnungen 28 und 32 in Fig. 8A.
-
Der Ausdruck "Weissraum" soll sich auf einen Raum
beziehen, in welchem keine Attributbits gesetzt sind. Die
Aufzeichnungen 22 und 31 in Fig. 6A sind Beispiele von
Weissräumen.
-
Der Ausdruck "Einheitsraum", der früher verwendet wurde,
bezieht sich im vorliegenden Fall auf einen Abstand von
1/60 eines Inch auf dem Papier und ist gleich einer
Aufzeichnung in dem Korrekturpufferspeicher. Wenn
aufeinanderfolgende Zeichen und Räume (eine Reihe von Worten
beispielsweise) von einer Bedienungsperson am Tastenfeld
eingetippt werden, werden graphische Wurzelzeichen (mit
zugeordneten "fortgeführten" Aufzeichnungen) und Räume, wie
bereits definiert wurde, in dem Korrekturpufferspeicher
eingegeben. Die vorliegende
Korrekturpufferspeicherstruktur unterstützt auch die Eingabe von Überschlagungszeichen
und teilweisen Überschlagungszeichen.
-
Ein Beispiel der Speicherung eines teilweisen
Überschlagungszeichens in dem Korrekturpufferspeicher ist in Fig.
7A gezeigt. Die Aufzeichnung 33, welche das graphische
Zeichen "B" enthält, ist positioniert in dem sechs
Aufzeichnungs-Korrekturpufferraum von dem "A", welches bei
der Aufzeichnung 24 beginnt. Es sei darauf hingewiesen,
daß, wie in Fig. 7B gezeigt ist, die resultierenden
Zeichen, die auf das Papier gedruckt werden, ein "B", welches
teilweise auf einem großen "A" aufgeschlagen ist, sind. Es
sei auch darauf hingewiesen, daß in dem
Korrekturpufferspeicher
die Aufzeichnung 33, die das große "B" enthält,
einen sechs Aufzeichnungsabschnitt des
Korrekturpufferspeichers einleitet und zwar trotz der Tatsache, daß
dieses teilweise über dem großen "A" überschlagen ist. Es
wird daher die X-Position für ein nachfolgendes Zeichen
(nach dem "B") bei der Aufzeichnung 26 gesetzt, so daß das
nächste graphische Zeichen (großes "D") in einem normalen
Abstand von dem vorhergehenden großen "B" gelegen ist.
-
Da jede Aufzeichnung so bemessen ist, um dem ASCII Code
für nur ein Zeichen aufzunehmen, ist es nicht möglich zwei
Zeichen in einer einzelnen Aufzeichnung einzuschreiben, um
ein direktes Überschlagen anzuzeigen. Um ein direktes
Überschlagen anzuzeigen wird der zweite Buchstabe in die
Aufzeichnung nachfolgend auf die Eingabe des ersten
Buchstaben eingegeben, wobei ein "Überschlagen"-Attributbit
(ein zweites der acht Atributbits) in der Aufzeichnung für
den zweiten Buchstaben gesetzt wird. Es sei darauf
hingewiesen, daß bei der Stufe 10 sechs Aufzeichnungen
existieren, die dem Buchstaben "A" zugeordnet sind und daß das
direkt überschlagene "B" in die zweite Aufzeichnung
gesetzt ist (die Aufzeichnung, die auf diejenige folgt,
welche das "A" enthält). Zusätzliche Zeichen, die direkt über
dem "A" überschlagen werden, würden dann in der
Aufzeichnung 39 gespeichert und in nachfolgenden Aufzeichnungen
und das "Überschlagungs"-Attributbit würde in jeder
solcher Aufzeichnung gesetzt werden. Das direkte
Überschlagen, wie es auf dem Papier erscheint, ist in Fig. 8B
gezeigt.
-
Die Aufzeichnungen, die einer Wurzelzeichen-Aufzeichnung
folgen, liegen typischerweise in Form der Aufzeichnung 36
(Fig. 6A) vor, die eine ASCII "Null" -Graphik enthält. Die
Figuren 6B, 7B und 8B zeigen die Erscheinungsform der
Zeichen, die auf Papier gedruckt worden sind entsprechend den
Zeichen, die in den Korrekturpufferspeichersegmenten
gespeichert sind, die in den Fig. 6A, 7A und 8A jeweils
gezeigt sind.
-
Unter Hinweis auf Fig. 5B soll im Detail die Eingabe der
Tastenanschlags-Information in den Korrekturpufferspeicher
erläutert werden. Nach Änderung eines Raumes, der in einer
Unterstreichungsbetriebsart zu einer
Unterstreichungsgraphik eingegeben wurde (wenn erforderlich) entscheidet der
Prozessor zunächst, ob die laufende X-Position (wie durch
den Wert der X- Positions-Variablen bestimmt) ein Raum ist
(enthaltend einen Weissraum) oder eine Aufzeichnung, die
durch ein graphisches Wurzelzeichen fortgesetzt ist. Wenn
dies nicht der Fall ist, ist die vorhandene Aufzeichnung
entweder ein graphisches Wurzelzeichen oder eine
Aufzeichnung, in welcher das "Überschlag"-Attributbit gesetzt ist.
Bei der normalen Eingabe von Zeichen von links nach rechts
in den Korrekturpufferspeicher, liegt die laufende
X-Position nach der Eingabe eines Zeichens auf einem Weissraum.
Links von diesem Weissraum befindet sich die letzte
Aufzeichnung mit einem "Fortgesetzt"-Bitsatz, der dem
vorhergehenden Zeichen zugeordnet ist. Eine solche Weissraum-
Aufzeichnung ist die Aufzeichnung 22 in Fig. 6A.
-
Die Reihenfolge der Schritte zum Verarbeiten von entweder
einem graphischen Wurzelzeichen oder einem
Überschlagzeichen ist in Fig. 5A gezeigt. Dies ist der weniger übliche
Fall und soll zunächst erläutert werden. Wenn die
vorhandene Aufzeichnung nicht ein Raum ist oder fortgeführt ist
durch ein graphisches Wurzelzeichen, bestimmt der
Prozessor als nächstes, ob das "Überschlag"-Bit gesetzt ist.
Wenn dies der Fall ist wird eine Fehlermeldung oder
Anzeige der Bedienungsperson übermittelt und der Prozessor
kehrt zur Schreibmaschinenschleife zurück. Wenn das
"Überschlag"-Bit in der vorhandenen Aufzeichnung gesetzt ist,
so zeigt dies an, daß ein Zeichen bereits überschlagen ist
an einer Stelle links von der vorhandenen Aufzeichnung;
und die vorhandene Aufzeichnung kann nicht ein weiteres
Überschlagungs-Zeichen speichern.
-
Wenn die vorhandene Aufzeichnung kein
"Überschlag"-Attribut enthält (was bedeutet, daß die Aufzeichnung ein
graphisches Wurzelzeichen enthält), bestimmt der Prozessor
als nächstes, ob der nun verarbeitete Tastenanschlag eine
Unterstreichungsgraphik ist. Wenn dies der Fall ist, wird
das Unterstreichungs-Attributbit für die vorliegende
Aufzeichnung gesetzt und für jede nachfolgende Aufzeichnung
für eine Zeichenbreite oder Weite. Der Prozessor kehrt
dann zur Schreibmaschinenschleife zurück.
-
Wenn der verarbeitete Tastenanschlag keine
Unterstreichungsgraphik ist, sieht der Prozessor rechts im
Korrekturpufferspeicher nach, um die nächste Aufzeichnung zu
finden, in welcher das "Überschlag"-Bit nicht gesetzt ist.
Ein Beispiel hierfür würde sein mit einer X-Position bei
der Aufzeichnung 27 (Fig. 8A). Beginnt man mit dem
Korrekturpufferspeicher wie in Fig. 8A veranschaulicht ist, so
würde sich der Prozessor dann wenn beispielsweise ein
Großbuchstabe "E" direkt über einen Großbuchstaben "A"
aufgeschlagen werden soll, der Prozessor nach rechts durch
die Aufzeichnungen in den Korrekturpufferspeicher bewegen
und zwar an der Aufzeichnung 34 vorbei, (deren
Überschlagbit gesetzt ist) zur Aufzeichnung 39, also der nächsten
Aufzeichnung, in welcher das "Überschlag" -Bit nicht
gesetzt ist. Der Wert der X-Veränderlichen selbst wird bei
der Ausführung dieser Prozedur nicht geändert.
-
Der Prozessor prüft als nächstes ob diese Aufzeichnung
forgesetzt ist von einem früheren Wurzelzeichen; das heißt
ob eine ASCII Null in dem graphischen Abschnitt dieser
Aufzeichnung vorhanden ist. Im Falle der Aufzeichnung 39
trifft dies zu. Wenn es nicht zutreffen würde, so würde
dies bedeuten, daß (für die Stufe 10) fünf direkte
Überschlagungen bereits in die Aufzeichnungen eingegeben
wurden, die der Aufzeichnung folgen, welche die
Großbuchstaben "A" Graphic enthält. Wenn bei der Situation in Fig. 8A
die Aufzeichnungen 34 bis 40 alle das "Überschlag"-Bit
gesetzt enthalten, bewegt sich der Prozessor nach rechts
bis er die Aufzeichnung 28 erreicht. Da jedoch die
Aufzeichnung 28 keine Aufzeichnung mehr ist, die mit dem
graphischen Zeichen gemäß dem Großbuchstaben "A" zugeordnet
ist, ist es keine geeignete Stelle zum Eingeben eines
Überschlag-Zeichens für den Großbuchstaben "A".
-
Es gibt daher für die Praxis und für die Stufe 10 eine
Grenze von 5 direkten Überschlagungen, die bei einer
Zeichenstelle erlaubt werden.
-
Wenn, was der übliche Fall sein würde, die erste oder die
zweite Aufzeichnung, die rechts von der graphischen
Wurzelzeichen-Aufzeichnung auftritt, von diesem Wurzelzeichen
fortgeführt ist, speichert der Prozessor das graphische
Zeichen in diese Aufzeichnung und schaltet die geeigneten
Attributbits, die das graphische Zeichen begleiten, ein.
Der Prozessor schaltet auch das Überschlagbit in der
Aufzeichnung ein und kehrt dann zur Schreibmaschinenschleife
zurück.
-
Bei dem vorliegenden beschriebenen Korrekturpufferspeicher
betreffen die verwendeten Attributbits ein Überschreiben,
ein Unterschreiben, ein Erweitern, ein Hervortretenlassen,
ein Unterstreichen und ein Überschlagen, wobei zwei Bits
für zukünftige Aufgaben reserviert sind. Kehrt man nun zur
Entscheidungsstelle (Fig. 5B) zurück, bei der der
Prozessor bestimmt hat, ob die vorliegende Aufzeichnung ein Raum
ist oder eine Fortführung von einem graphischen
Wurzelzeichen, so wurden die Situationen erläutert, bei denen keine
dieser Bedingungen zutrifft. Bei dem wahrscheinlicheren
Ereignis ist die Aufzeichnung entweder ein Raum oder
fortgeführt von einem graphischen Wurzelzeichen und der
Prozessor bestimmt dann, ob der momentan verarbeitete
Tastenanschlag eine Unterstreichungsgraphik ist. Wenn dies der
Fall ist, wird das Unterstreichungs-Attributbit für die
vorliegende Aufzeichnung eingeschaltet und für jede
nachfolgende Aufzeichnung für eine Zeichenbreite. Wenn
beispielsweise die momentane X-Position die Aufzeichnung 36
ist (Fig. 6A), würde der Prozessor das "Unterstreichungs"-
Attributbit in den Aufzeichnungen 36 bis 31 setzen. Wenn
die momentane Positon in dem Korrekturpuffer bei einem
Raum liegt, würde das "Unterstreichungs"-Attributbit für
jede Aufzeichnung eingeschaltet werden, die eine
Zeichenbreite ausmacht, im vorliegenden Fall fur sechs
Aufzeichnungen beginnend mit der vorliegenden Aufzeichnung und
nach rechts fortschreitend.
-
Für graphische Zeichen, die nicht eine
Unterstreichungsgraphik betreffen, schreitet der Prozessor voran, um die
Zeichengraphik in dem graphischen Abschnitt der
vorliegenden Aufzeichnung zu speichern und schaltet dann die
geeigneten Attribute ein, die dem Zeichen zugeordnet sind. Der
Prozessor setzt dann einen Null ASCII Code in dem
graphischen Abschnitt jedes der aufeinanderfolgenden
Aufzeichnungen bis zu einem Maximum von 5 Aufzeichnungen (für die
Stufe 10) oder bis eine Aufzeichnung gefunden wird, die
anders ist als ein Weissraum. Der Prozessor kehrt dann zur
Schreibmaschinenschleife von der Routine für die Eingabe
der Tastenanschlaginformation in den
Korrekturpufferspeicher zurück.
-
Ein Beispiel für die Eingabe eines graphischen Zeichens in
den Korrekturpufferspeicher beginnend bei einem Raum ist
in den Aufzeichnungen 21 bis 41 (Fig. 6A) gezeigt. Ein
Beispiel für die Eingabe eines graphischen Zeichens in den
Korrekturpufferspeicher beginnend mit einer
"fortgeführten" Aufzeichnung ist in den Aufzeichnungen 33 bis 42
(Fig. 7A) gezeigt.
-
Es sei nun auf die Beschreibung der
Schreibmaschinenschleife der Fig. 4 zurückgekehrt. Nachdem die
Tastenanschlaginformation zum Korrekturpufferspeicher gesendet
wurde, wie dies im einzelnen in Verbindung mit den Fig. 5
und 6 bis 8 erläutert wurde, bestimmt der Prozessor dann
ob die Tastenanschläge direkt an den Drucker zugeführt
werden sollen. Wenn dies der Fall ist wird die
Zeicheninformation für das zu druckende Zeichen zum Drucker
gesendet. In beiden Fällen führt der Prozessor dann Subroutinen
aus, um das Zeichen darzustellen bzw. anzuzeigen, die
Korrekturpuffer X-position nach rechts zu bewegen und den
Anzeigecursor in der Anzeigevorrichtung zu bewegen. Jede
dieser Subroutinen soll im folgenden nunmehr im einzelnen
beschrieben werden. Folgend auf die Ausführung dieser
Routinen kehrt der Prozessor zurück, um erneut eine Taste,
die betätigt wurde, zu prüfen.
-
Um gemäß Fig. 9 ein Zeichen an der Anzeigevorrichtung
darzustellen, bestimmt der Prozessor zuerst ob das graphische
Zeichen eine Unterstreichungsgraphik
(Unterstreichungsraum) ist. Wenn es keine Unterstreichungsgraphik ist, wird
die Zeicheninformation in den Video RAM in der
Systemeinheit eingeschrieben und die begleitende
Attributinformation für das Zeichen wird dazu verwendet, eine geeignete
Attributinformation in den Video RAM einzuschreiben.
-
Die Zeicheninformation aus dem Korrekturpufferspeicher
wird unmittelbar in die geeignete Video RAM Stelle für
eine Anzeige eingeschrieben. Der vorliegende
Korrekturpufferspeicher besitzt 792 Aufzeichnungen (132 Zeichen, in 10
Stufen weit). Die vorliegende Anzeigevorrichtung besitzt
76 Zeichenpositionen, die 76 Video RAM Stellen
entsprechen. Für die ersten 76 Zeichen-Weiten (6
Aufzeichnungsgruppen) in dem Korrekturpufferspeicher, wird die ASCII
Zeicheninformation direkt in die entsprechenden Video RAM
Stellen eingeschrieben. Beginnend mit der 77. Zeichenweite
in dem Korrekturpufferspeicher (oder einem niedrigeren
Wert wie der 71. Zeichenweite, wenn eine Schirmüberlappung
gewünscht wird), wird der Video RAM erneut als ein zweiter
"Schirm" geschrieben, wobei die 77. Zeichenweite der
Zeicheninformation in die erste Video RAM Speicherstelle
geschrieben wird. Aufgrund der festen Zeichengrenzen der
vorliegenden Anzeigevorrichtung und aufgrund der
Fähigkeit, Zeichen und Einheitsräume auf dem Papier zu
verschieben und auch in dem Korrekturpufferspeicher zu
verschieben, müssen bestimmte Entscheidungen hinsichtlich der
exakten Positionierung der Zeicheninformation in der
Anzeigevorrichtung getroffen werden. Jedoch sind derartige
Betrachtungen nicht kritisch für die vorliegende
Korrekturpufferspeicherausführung und sollen auch nicht im
Detail erläutert werden.
-
Nachdem ein Zeichen ASCII Code an eine Speicherstelle in
dem Video RAM eingeschrieben ist, werden die Attribut-
Bits, die in dem Korrekturpufferspeicher für das Zeichen
gesetzt worden sind, dazu verwendet, um geeignete
Attribut-Darstellungen oder Anzeigen zu erzeugen.
Beispielsweise können Symbole über oder unter das Zeichen gesetzt
werden oder es kann die Farbe des Zeichens geändert werden,
wenn eine Farbanzeige verwendet wird. Die spezielle
Annäherung oder Maßnahme, die zur Darstellung von Zeichen-
Attributen ergriffen wird, basierend auf den
Korrekturpufferspeicher-Inhalten ist nicht kritisch für die
vorliegemde
Korrekturpufferspeicherstruktur und soll daher nicht
mehr weiter beschrieben werden.
-
Wenn das darzustellende Zeichen aus einer
Unterstreichungsgraphik besteht, bestimmt der Prozessor wieviele
gesamte Unterstreichungszeichen für die Anzeige für die
Unterstreichungsgraphik geschrieben werden müssen. Die
Unterstreichungszeichen werden dann dargestellt oder
angezeigt und der Prozessor kehrt zur Schreibmaschinenschleife
von der Zeichenanzeige-Subroutine zurück. Nachdem ein
Zeichen dargestellt oder angezeigt wurde, bringt der
Prozessor die X-Position in dem Korrekturpufferspeicher auf den
neuesten Stand, so daß die X-position richtig für das
nächste eingegebene Zeichen ist. Um dies zu erreichen,
wird eine gehe nach rechts- (Go right) Subroutine
ausgeführt. Nach Vervollständigung der gehe nach
rechts-Subroutine wird eine geeignete Zahl von Einheitsraumwerten zu
der X-Positionsvariablen hinzuaddiert. Das allgemeine Ziel
der gehe nach rechts-Subroutine besteht darin, eine nach
rechts verlaufende Bewegung in dem Korrekturpufferspeicher
zum Anfang der Aufzeichnung des nächsten Wurzelzeichens zu
bewirken. Gemäß Fig. 10 wird beim Ausführen der gehe nach
rechts-Subroutine die X-Veränderliche um eins durch den
Prozessor inkrementiert und dieser bestimmt, ob diese
Aufzeichnung ein Raum ist. Wenn dies nicht der Fall ist,
führt der Prozessor eine Bewegung nach rechts um eine
Einheit zu einem Zeitpunkt aus, bis er auf ein Wurzelzeichen
trifft (welches einen Raum als auch ein graphisches
Wurzelzeichen enthält) wenn er nicht bereits auf einem
graphischen Wurzelzeichen steht. Im wesentlichen bewegt sich
der Prozessor nach rechts über Aufzeichnungen hinweg, die
eine ASCII Null-Graphik haben oder ein "Überschlag"-Bit
gesetzt haben, bis er an der nächsten
Wurzelzeichen-Aufzeichnung ankommt.
-
Wenn beispielsweise gemäß Fig. 7A die X-Position bei der
Aufzeichnung 33 startet, gefolgt durch die Eingabe eines
"B" Tastenanschlags in den Korrekturpufferspeicher, wird
die X-Position nach rechts um sechs Einheitsräume zur
Aufzeichnung 26 bewegt, wo dann auf das Wurzelzeichen "D"
gestoßen wird. Wenn gemäß Fig. 6A nach einem weiteren
Beispiel die X-Position an der Stelle 21 startet, gefolgt von
einem "A"-Tastenanschlag in den Korrekturpufferspeicher,
bringt der Prozessor die X-Position zur Stelle 22 auf den
neuesten Stand, wo er zuerst auf einen Raum trifft.
-
Wenn gemäß Fig. 10 nach der Bewegung nach rechts um einen
Einheitsraum die Aufzeichnung bei der X-Position ein Raum
ist, bewegt sich der Prozessor nach rechts um einen
Einheitsraum zu einem Zeitpunkt, bis nach dem Ende des
Raumes, worauf er typischerweise auf ein Wurzelzeichen bzw.
Grundzeichen trifft. Es wird jedoch die X-Position nicht
weiter als um eines Zeichenshemmung (Escapement)
inkrementiert, welches bei einer Steigung oder Stufe von zehn
gleich 6 Zeichenaufzeichnungen ausmacht. Der Prozessor
stoppt auch die Inkrementierung der X-Position, wenn ein
Übergang vom Weissraum zu einem Unterstreichungsraum
auftritt (oder umgekehrt).
-
Eine nach links gerichtete Bewegung in dem
Korrekturpufferspeicher wird in einer ähnlichen, jedoch geringfügig
unterschiedlichen Weise, ausgeführt. Das allgemeine Ziel
der gehe nach links- (Go left) Subroutine besteht darin,
eine Bewegung nach links in dem Korrekturpufferspeicher
zur ersten Aufzeichnung des früheren Wurzelzeichens zu
bewirken. Um gemäß Fig. 11 eine Bewegung nach links zu
bewirken, bewegt sich der Prozessor um einen Einheitsraum
zu einem Zeitpunkt nach links, bis er auf ein
Wurzelzeichen trifft (die Definition von welchem, wie bereits
früher festgestellt wurde, einen Raum enthält). Wenn diese
Zeichenaufzeichnung kein Raum ist, kehrt der Prozessor
dann von der gehe nach links-Subroutine zurück. Wenn die
X-Position nach der Bewegung um einen Einheitsraum nach
links ein Raum ist, fährt der Prozessor fort, eine
Bewegung nach links um einen Einheitsraum zu einem Zeitpunkt
durchzuführen und zwar bis zum Beginn einer Reihe von
"Raum"- Zeichen-Aufzeichnungen. Jedoch ist die Bewegung
nach links durch den Korrekturpufferspeicher niemals
größer als eine Zeichenhemmung (sechs Aufzeichnungen in
der Stufe zehn). Wie im Falle der gehe nach rechts-Routine
stoppt der Prozessor die Dekrementierung der
X-Positionsvariablen, wenn ein Übergang von einem Weissraum zu einem
Unterstreichungsraum (oder umgekehrt) festgestellt wird.
Beispielsweise würde die gehe nach links-Subroutine die X-
Position von der Aufzeichnung 33 zur Aufzeichnung 24
bewegen (Fig. 7A) oder von der Aufzeichnung 31 zu der
Aufzeichnung 22 (Fig. 6A).
-
Um wieder zur Reihe der Routinen in der
Schreibmaschinenschleife nach Fig. 4 zurückzukehren, so führt der
Prozessor, nachdem die Zeichenanzeige-und gehe nach
rechts-Routinen ausgeführt wurden, eine Routine durch, um den
Anzeigecursor zu bewegen.
-
Gemäß Fig. 12 berechnet der Prozessor zuerst, welcher
Schirm für die Anzeige die laufende X-Position enthält. Im
vorliegenden Fall ist der Korrekturpufferspeicher (und die
evtl. Zeilenbreite am Drucker) größer als die Breite oder
Weite der Anzeige. Es können zwei oder sogar drei
"Schirme" an der Anzeigevorrichtung zur Anzeige gebracht werden,
was von der Stufe (titch) des Druckers abhängt und auch
davon, welcher Abschnitt der Korrekturpufferinformation zu
betrachten ist. Um daher die Möglichkeit zu schaffen, den
Cursor am richtigen Schirm anzuzeigen, bestimmt der
Prozessor welcher Schirm zur Anzeige gebracht werden muß, um
den Cursor an der laufenden X-Position zu zeigen. Dieser
Schirm wird zur Anzeige gebracht, indem eine geeignete
Zeicheninformation in den Video RAM vom
Korrekturpufferspeicher eingeschrieben wird. Im Falle des vorliegenden
"methodischen" Korrekturpufferspeichers, wie an früherer
Stelle bereits erläutert wurde, ist es eine
Geradeausumwandlung oder Umwandlung, um die
Korrekturpuffer-Zeicheninformationen zu bestimmen, die an verschiedenen Video RAM
Stellen zu speichern sind.
-
Wenn der richtige Schirm nicht unmittelbar zur Anzeige
gebracht wird, wird die Schirminformation aus dem
Korrekturpufferspeicher in den Video RAM eingeschrieben. Die
Cursorposition wird aus der Korrekturpuffer-X-Position
berechnet und der Cursor wird zu dieser Position durch
Einschreiben in den Video RAM bewegt. Der Prozessor kehrt
dann zur Schreibmaschinenschleife zurück.
-
Bei der Ausführung der Schreibmaschinenschleife werden
bestimmte Funktionen bei der Verarbeitung der Tasten
ausgeführt, die nicht Graphikzeichen-Tasten sind. Diese
Routinen werden in dem "Prozesstasten"-Block in der
Schreibmaschinenschleife ausgeführt. Bestimmte dieser
Tastenverarbeitungsfunktionen, die innerhalb des
Korrekturpufferspeichers Bewegungen bedingen oder Änderungen hinsichtlich
der Anzeige bedingen, werden vorteilhafterweise dadurch
ausgeführt indem die hier offenbarte Form eines
Korrekturpufferspeichers verwendet wird.
-
Eine solche Routine besteht aus der Verarbeitung einer
tab- Taste (Fig. 13). Um einen tab-Tastenanschlag zu
verarbeiten, sucht der Prozessor nach der geeigneten
tab-Position in einem Puffer, der vorteilhafterweise in der
Zahl der Aufzeichnungspositionen dem
Korrekturpufferspeicher entspricht. Die tab-Stelle, welche aufgesucht wird,
ist somit in ihrem Wert gleich mit einer X-position in dem
Korrekturpufferspeicher. Diese neue X-Position, die aus
dem tab-Puffer bestimmt wurde, wird für die X-Variable
eingegeben. Unter Hinweis auf Fig. 13 bewegt der
Prozessor, nachdem die X-Position bestimmt worden ist und die X-
Variable auf diesem X Positionswert gesetzt wurde, den
Cursor in der Anzeigevorrichtung unter Verwendung der
"bewege den Anzeigecursor"-Routine. Der Prozessor kehrt
dann von der Tab-Subroutine zur Schreibmaschinenschleife
zurück.
-
Eine weitere Taste, die in dem "Prozesstasten"-Abschnitt
der Schreibmaschinenschleife verarbeitet wird, ist eine
Löschtaste. Um gemäß Fig. 14 eine Löschung zu verarbeiten,
bestimmt der Prozessor zunächst ob die X-Position sich auf
einem Weissraum befindet (ein Raum, bei welchem keine
Attribut-Bits gesetzt sind), sich auf einer
Überschlagungs-Aufzeichnung (es ist ein "Überschlagungs"-Bit
gesetzt) oder auf einer Aufzeichnung befindet, die von einem
Wurzelzeichen oder Grundzeichen forstgestzt ist. Wenn dies
der Fall wird führt der Prozessor die "gehe nach
links"-Subroutine aus. Dadurch wird die X-Position zu
einem Wurzelzeichen oder über einen weißen Raum bewegt und
zwar um eine Strecke, die höchstens gleich ist einer
Hemmungsbreite eines Zeichens. Der Prozessor bewegt dann den
Cursor in der Anzeigevorrichtung unter Verwendung der
"bewege den Anzeigecursor"-Routine. Wenn die Aufzeichnung
an der Original X-Position nicht ein Weißraum, ein
Überschlagungs-Zeichen oder ein fortgeführtes Zeichen ist, ist
die Aufzeichnung ein Wurzelzeichen (eine Graphik oder Raum
anders als ein Weißraum). Es besteht keine Forderung
dafür, die "gehe nach links"-Routine auszuführen oder den
Anzeigecursor zu bewegen.
-
Nach Ausführung einer nach links verlaufenden Bewegung
(wenn erforderlich) durch den Korrekturpufferspeicher zu
dem Wurzelzeichen links von irgendwelchen fortgesetzten
oder Überschlagungs-Aufzeichnungen, muß die Aufzeichnung
an der X-Position nun zwangsläufig ein Wurzelzeichen
(graphisches Zeichen oder Unterstreichungsraum) oder ein
Weißraum sein. Wenn die Aufzeichnung bei der X-Position
nicht ein Weißraum ist, bewegt der Prozessor den Drucker
zur richtigen Position und sendet einen Löschbefehl, um
das Wurzelzeichen zu löschen, welches ein graphisches
Zeichen oder ein Unterstreichungszeichen sein kann. Der
Drucker wird dann zur laufenden X-Position zurückgeführt
und es können nachfolgende Löschbefehle für jedes
Überschlagungszeichen gesendet werden, die auf das
Wurzelzeichen folgen.
-
Der Prozessor führt dann eine "entferne
Zeichen"-Subroutine aus, um die richtigen Zeichenaufzeichnungen aus dem
Korrekturpufferspeicher zu entfernen (was im folgenden
noch unter Hinweis auf Fig. 15 beschrieben werden soll),
und dann schreibt er die Anzeige neu, um ein gelöschtes
Wurzelzeichen von der Anzeige oder Darstellung zu
entfernen. Um nun gemäß Fig. 15 ein Zeichen von dem
Korrekturpufferspeicher zu entfernen, bestimmt der Prozessor
zunächst, ob die Aufzeichnung bei der X-Position ein
Weißraum ist. Wenn dies der Fall ist, kehrt der Prozessor zur
Schreibmaschinenschleife zurück, da keine
Zeicheninformation existiert, die aus dem Korrekturpufferspeicher
entfernt werden muß, noch irgendein Bedarf oder Forderung die
Anzeige neu zu schreiben.
-
Wenn die Aufzeichnung bei der X-Position nicht ein
Weißraum ist, so muß die Zeichenaufzeichnung zwangsläufig aus
einem Wurzelzeichen bestehen (graphisches Zeichen oder
Unterstreichungszeichen) und zwar aufgrund der früheren
Ausführung der "Prozeßlösch"-Routine. Der Prozessor
erzeugt daher eine Einheit des weißen Raumes und bewegt sich
nach rechts um einen Einheitsraum in dem
Korrekturpufferspeicher (obwohl nicht jetzt oder anschließend in der
"entferne Zeichen"-Subroutine aktuell der Wert der
X-Variablen verändert wird). Der Prozessor bestimmt dann, ob
ein Wurzelzeichen erreicht worden ist. Wenn er ein
graphisches Wurzelzeichen erreicht hat, wurde das gesamte
Zeichen, welches zu entfernen war, entfernt und der Prozessor
kehrt dann zur "Prozeßlösch"-Routine zurück.
-
Wenn der Prozessor nicht ein graphisches Wurzelzeichen
erreicht hat, durchläuft der Prozessor die Schleife, um
eine weitere Einheit des weißen Raumes zu erzeugen und um
sich um eine weitere Einheit nach rechts in dem
Korrekturpufferspeicher zu bewegen. Da ein Raum ein Wurzelzeichen
ist, wird dann, wenn ein Unterzeichnungsraum aus dem
Korrekturpufferspeicher entfernt wird und zwar nach jeder
Wurzelzeichenentscheidung, eine Entscheidung getroffen,
daß der Prozessor bei einem Raum ist. Der Prozessor prüft
dann um zu sehen, ob eine Zeichenhemmungsweite der Räume
entfernt wurde. Wenn dies der Fall ist, kehrt der
Prozessor zur "Löschverarbeitungs"-Routine zurück. Wenn dies
nicht der Fall ist, durchläuft der Prozessor eine Schleife
und erzeugt eine weitere Einheit des weißen Raumes und
bewirkt eine Bewegung nach rechts, um einen weiteren
Einheitsraum in dem Korrekturpufferspeicher.
-
Nachdem die "entferne Zeichen"-Subroutine ausgeführt
worden ist, bleibt die X-Position am Anfang des eben
erzeugten Raumes in dem Korrekturpufferspeicher, so daß die X-
Position richtig ist für das Ersetzen des entfernten
Zeichens durch ein weiteres Zeichen.