Technical Field
[0001] This invention relates to improvements to electronic typewriters to allow both automatic
and manual erase functions with a minimum amount of keying.
Background of the Invention
[0002] The automatic erase feature, disclosed in the document US-A-3,780,846, in which the
typist need not key in an identification of the character to be erased, while considerably
increasing keystroke efficiency, is, of course, only applicable where the line memory
associated with the typewriter electronics includes identification of the character
sought to be erased. In the event that the associated memory includes, at the print
point at which the carriage is positioned, no erasable character, the typewriter leaves
the erase mode and thus requires additional keystroking to effect the erasing action
initially sought by depression of the erase key. In the event that the memory includes
a code indicating a space function, the automatic erasing typewriter of the document
US-A 3,780,846 will produce a-backspace in response to the first erase depression
and a second backspace to, in effect, search for an erasable character in the line
memory, and when such character is found, it will be erased.
[0003] The document US-A-3,724,633 teaches a manual erasing technique which serves to improve
the keystroking efficiency. This improvement required the operator to stroke a correction
key with two effects; firstly, a backspace is performed to bring the print point and
the type carrier into conjunction with the character sought to be erased, and the
typewriter is conditioned such that on the next keystroke, rather than using the normal
print ribbon, a special erase ribbon is interposed between the type carrier and the
paper sheet when the type carrier next strikes the paper. Accordingly, when the operator
next strokes a key, identical to the erroneously stroked key, the impression of that
key is lifted off, or erased, from the paper. The operator can then stroke the desired
key to replace the erased character with the desired character.
[0004] In automatically erasing typewriters such as that disclosed in the document US-A-3,780,846,
the typewriter is only capable of automatically erasing a character when a code representing
the character is retained in a (line) memory. Once the carriage is indexed (or carriage
return is effected), the line memory is cleared and thereafter the automatic erase
feature cannot be employed. Some automatically erasing typewriters manufactured by
IBM, however, are still capable of erasing a character even when the line memory does
not contain a representation of the erroneously typed character, by simultaneously
depressing the erase and "code" keys. This has the effect of backspacing the print
point and on the next key depression, if a character key, the erase media is used
to erase the character from the page. However, the operator must decide to use the
"code" key when the line memory is cleared in order to produce the desired result.
This obviously places an added burden on the operator and will result in loss of keystroking
efficiency if the operator's decision is incorrect.
Brief Description of the Present Invention
[0005] The present invention seeks to improve operation of an automatically erasing typewriter
in the event that the character sought to be erased is not contained in the line memory,
and enables the automatically erasing typewriter to achieve the erasing function with
a minimum amount of decision-making on the part of the operator. In accordance with
the invention, the operator employs the same initial techniques regardless of whether
or not the character sought to be erased is retained in the line memory. In particular,
in accordance with the invention, the operator strokes the erase key which initiates
the automatic erasing operation. In the event that the erroneously typed character
is contained in the line memory, it is automatically erased as taught in the document
US-A-3,780,846. In the event, however, that the erroneously typed character is not
found in the line memory, signals are generated to condition the typewriter for manual
erasure in accordance with the techniques identified in the document US-A-3,724,633.
Thus, after stroking the erase key, in the event that the erroneously typed character
is not found in the line memory, the operator merely follows stroking the erase key
by stroking the erroneously typed character key. Operation of the erase key, in the
event that the erroneously typed character is not found in the line memory, conditions
the typewriter for manual erasure in which the operator must select the erroneously
typed character so as to induce the erasure thereof.
[0006] Employing the automatic selection of erasing mode of the present invention further
improves the capabilities of the typewriter in other respects as well. In the automatically
erasing typewriter disclosed in the document US-A-3,780,846, when the operator strokes
the erase key, and the typewriter finds a space function in the line memory, a second
backspace is initiated, in effect, "looking" for an erasable character. Thus, if the
typist is attempting to erase the "space", the automatically erasing typewriter requires
the typist to either erase the immediately preceding character and begin typing at
that point, or employ the backspace key rather than the erase key. In accordance with
the present invention, when an erase operation is initiated, if the typewriter finds
a space function in the associated line memory location, the backspace is terminated
and the machine is conditioned for manual erase. Operating the space bar then deconditions
the typewriter from the erase mode without causing an escapement to thereby enable
the typist to continue typing to, in effect, "erase" the space by inserting a character
therein.
[0007] Thus, the automatically erasing typewriter of the present invention is of the kind
which can type a sequence of characters on a page in response to operator actuation
of a sequence of keys on the keyboard and is of the kind which includes:
key actuated means for generating signals representing an actuated key,
memory means for storing an ordered sequence of signals representing a sequence of
operator actuated keys,
print means including print and erase media for executing a print cycle to at times
print a character if said print media is enabled, or to erase a character if said
erase media is enabled,
print point position control means responsive to said key actuated means for displacing
said print means and for accessing a selected location of said memory means corresponding
to said print point, and
erase means operative in response to actuation of an erase key for initiating a sequence
of operations including:
a) actuating said print point position control means to displace said print point
toward a left margin,
b) accessing said memory means at a selected location corresponding to said print
point for reading signals stored at said selected location,
c) actuating said print means and enabling said erase media to execute a print cycle
to erase a character at said print point corresponding to signals read from said memory
means.
[0008] According to the invention, the typewriter further includes:
means responsive to the absence of signals representing an erasable character at said
selected location of said memory means, to inhibit said print cycle and to enable
said erase media and said printing means to execute a print cycle on a following key
actuation only if said following key actuation corresponds to actuation of a key representing
an erasable character.
[0009] More particularly, in accordance with the present invention, when an erase key is
stroked, a backspace is initiated which has the effect of displacing the print point
one character space rearwardly. Moving the print point has two effects; firstly, the
type carrier or print means is displaced corresponding to moving of the print point,
and secondly, the line memory location addressed is also correspondingly displaced.
In the event that the line memory contains a character code, a print cycle is initiated
with the erase media enabled and the automatic erase function is carried out. In the
event, however, that the line memory does not contain a character code, the typewriter
print cycle is inhibited and instead the typewriter is conditioned to manually erase,
in which, on the next keystroke, comprising an erasable character, manual erase is
effected by initiating a print cycle with the erase media enabled, inhibiting or preventing
escapement of the print means and finally, deconditioning the typewriter from an erase
mode. In the event that the operator strokes a key other than an erasable character,
the typewriter either reinitiates the automatic erase sequence in the event that the
subsequently stroked key is the erase key, or merely deconditions the typewriter from
an erase mode if the subsequently stroked key is the space bar.
Brief Description of the Drawings
[0010]
Figure 1 is a block diagram of an electronically controlled typewriter which may implement
the present invention.
Figure 2 is a partially broken-away view of the interrelation of the mechanical components
of the typewriter of figure 1.
Figures 3 and 4 are logic flow diagrams illustrating the logic of the present invention;
and
Figure 5 is a schematic of a discrete logic circuit implementing the present invention.
Detailed Description of Preferred Embodiments
[0011] Referring to figures 1 and 2, there is illustrated a typewriter 10 which is controlled
by electronics in that the keyboard signals generated are processed electronically
and the electronic controls therein then issue electronic commands to the printer
to effect the appropriate functions of the printer elements to cause printing, escaping,
backspacing, tabulation, correction and other normal printer functions. When a key
lever 12 on the keyboard 14 is depressed to effect the selection of a character for
printing, the keyboard 14 causes associated switches to make in a predetermined pattern
thereby transmitting signals from the keyboard 14 to the keyboard control 16. The
keyboard control unit 16 captures the electronic inputs from bail codes Bl through
B7 and generates an appropriate strobe or control signal which then causes the total
data signals to be transmitted to the character and velocity decode logic 18. The
character and velocity decode logic 18 then converts the signals from the keyboard
control 16 into signals which represent the position on the type element of the character
selected by the key lever depression. This is accomplished by converting the keyboard
control 16 signal into signals to magnet drivers 20 which then effect the rotation
(Rl, R2, R3) and the tilt (Tl, T2) of a single type element 11, or other conventional
selection technique, to position the desired type font at the print point and then
the selection of other controls such as the velocity (VI, V2) with which that type
font is propelled toward the printed page.
[0012] The keyboard control 16 signals are simultaneously read into the escapement and erase
logic 22 which, then, through a conventional table look-up, determines the assigned
escapement values for each of the characters which are represented by the output of
the keyboard control 16. These escapement values or widths may be a standard width
such as for example using a 1/60th of an inch per unit, 6 units for a 10 pitch escapement
or 5 units for a 12 pitch escapement. Additionally, with the escapement of characters
being defined as units of 1/60th of an inch, it is possible to assign escapement values
to characters proportional to their actual printing width, otherwise known as proportionally
spaced characters. This thereby provides the capability of escaping the typewriter
10 responsive to the keyboard control signals and effecting proportionally spaced
character printing.
[0013] The position of the carrier 13 (see figure 2) or the print point defining means of
the typewriter 10 is constantly stored in the escapement register 24 which is a portion
of the escapement and erase logic 22, thereby providing a current location, measured
from the leftmost point of travel of the print carrier 13, and this value is updated
as the print carrier 13 translates left or right under the control of any of the keyboard
signals. The escapement and erase logic 22 outputs the width of the characters which
have been selected at the keyboard to the escapement counter 26. This is necessary
to provide a control over the escapement functions of the printer. The escapement
counter 26 then stores on a temporaly basis the information necessary to control the
translation of the print carrier 13 over a predetermined or preselected distance.
The escapement counter 26 is controlled in its operation by the signals emanating
from integrator 28 which has input signals representing the output of a pitch selection
switch 15 and the photoemitter/ sensor 17 associated with the lead screw 19 and the
escapement signals wheel 21 which indicates which portion of a rotation the lead screw
19 has been rotated through. The pulses created by the photoemitter/sensor 17 and
wheel 21 on the end of the rotatable lead screw 19 of the typewriter 10 effect decrementing
of the escapement counter 26. As long as the escapement counter 26 contains a numerical
value, the photoemitter/sensor 17 will then pulse the escapement counter 26, through
the integrator 28, and cause the escapement countei 26 to provide an output signal
to the appropriate magnet drivers 30 to cause movement of the print carriage 13.
[0014] The escapement or movement of the print carriage 13 is a result of signals emanating
from the magnet drivers 30 which are provided their input from the escapement counter
26. The escapement signal, the direction signal, the drive signal and the erase signal
all emanate from the magnet drivers which are controlled ultimately from the keyboard
14. The escapement magnet driver 30 causes the release of the lead screw 19 and thus
allows its rotation together with the emitter wheel 21 which interacts with the photoemitter/
sensor 17, thus creating the signals discussed above. The direction magnet driver
30 controls the engagement of the clutches 31 in the drive unit 33 to determine the
forward or reverse direction of the carrier, by controlling the rotational direction
of the lead screw 19. The drive magnet driver 30 provides the engagement or the coupling
between the main drive motor 43 of the typewriter 10 and the lead screw 19, through
the power transmission or drive unit 33.
[0015] The erase magnet driver 30 controls the elevation, from its withdrawn position, of
an erase media or tape (shown in figure 2 wound on a reel 23) so that any subsequent
printing effected by the print element causes the impacting of the erase media against
the page to effect erasure, if the character being impacted was the same character
as was previously impacted onto the printing ribbon at that print point.
[0016] The printer control unit 32 contains the character velocity decode logic 18, the
escapement and erase logic 22, the escapement register 24, the escapement counter
26 and the line memory 34. As signals are decoded by the character and velocity decode
logic 18 for subsequent utilization by the magnet drivers 20 for selection, that same
information is temporarily stored in a memory designated as the line memory 34. This
memory or register 34 is capable of receiving and storing data in the sequence in
which they have been received. The line memory 34 is capable of being read in reverse
to determine characters which have been previously printed and machine functions which
have occurred during that particular line of operation, such as the initiation of
a tabulation or space command.
[0017] Functions of the typewriter 10 are controlled by the function portion 36 of the keyboard.
The functions which may be included into such a typewriter 10 include tabulation,
space, carrier return, shift, index and erase.
[0018] Of particular interest in this case is the erase function. As disclosed in the document
US-A-3,780,846, typewriter 10 is capable of automatic erase. In an automatic erase
operation, three functions are performed; in response to actuation of erase key 25,
firstly, the line memory is interrogated for the present print point and determination
is made as to whether or not an erasable character is found at that location. Assuming
an erasable character is found, the erase media is enabled (or lifted) so that when
a print operation occurs, the type element will drive the erase media into the page
rather than the print media. If the type carrier which drives the erase media to the
paper matches the character which is to be erased, the previously typed character
is deleted, either by lifting off the ink deposit in the first print operation or
by covering the ink so that it is not visible. Thus, with the erase media lifted,
the character read from the memory is employed to select a corresponding typeface
and a print cycle operation is executed. As disclosed in the US-A-3,780,846, if memory
is empty or if an erasable character is not found at the preceding location, the typewriter
10 merely performs a backspace and then begins the sequence again.
[0019] Frequently, the line memory will not contain an erasable character. This can occur
if the operator, after typing a full or partial line, indexes the carriage. This has
the effect or clearing the line memory, thus insuring that no erasable character will
be found in subsequently interrogating the line memory. If the operator has indexed
the carriage to register it with a preceding line, while the line memory will contain
no erasable characters, the page will indeed contain erasable characters, and therefore,
the operator may desire an erase operation to be performed.
[0020] A second instance when interrogation of the line memory will reveal no erasable character
occurs if the line memory contains a space. If, for example, the operator has erroneously
operated the space bar 27, and wished to "erase" the space, the line memory containing
the space will not have an erasable character. In the US-A-3,780,846, in response
to an erase command, the typewriter, in effect, skips the space and erases the immediately
preceding character which may not be the operation desired by the operator.
[0021] Of course, if the line memory does not contain a signal representing the character
to be erased, an automatic erase operation is not possible. However, prior art typewriters
are capable of what is termed a manual erase. In a manual erase, firstly, the print
point is selected to correspond to the character to be erased (i.e., typically requiring
a backspace function), the erase media is enabled such that on a following depression
of a character key, the typeface will impact the erase media into the paper, and if
the character which had been stroked corresponds to the character to be erased, it
will be erased. Some typewriters, for example, are capable of the automatic erase
function, and are also capable of implementing the manual erase operation. This is
effected by engaging simultaneously the "code" key and the erase key which has the
effect of "teaching" the typewriter to perform the manual erase function.
[0022] In accordance with the present invention, the electronic control circuits of the
typewriter contain logic to implement either the automatic erase or the manual erase,
and the selection is made by the electronic controls based upon the status of the
line memory. In effect, if an automatic erase operation at the effective print location
is possible, it will be performed. On the other hand, if the line memory contains
either a non-erasable character such as the space, 6r if the line memory is empty,
the electronic controls will implement a manual erase. If the following keystroke
is that of an erasable character, the manual erase operation will be performed. Otherwise,
the electronic controls either reinitiate automatic erase, if the following keystroke
is the erase key, or simply decondition from manual erase if the following keystroke
is neither an erasable character nor the erase key.
[0023] For purposes of this application, an "automatic erase" is an erase function performed
in response to selection of only the "erase" function without operator selection of
the character to be erased. On the other hand, "manual erase" is an "erase" function
in which the operator selects the character to be erased. Conditioning for a manual
erase is an operation in which an erase latch is set so that, on a following print
cycle, the erase media is lifted and interposed between the type element and paper.
Correspondingly, deconditioning from manual erase corresponds to resetting the erase
latch.
[0024] Upon the initiation of an erase command, the special function portion 36 of the keyboard
14, generates a signal which is passed through to the function decode logic 38 and
decoded. The output of the function decode logic 38 is gated into the escapement and
erase logic 22 which, in turn, recognizes that the function is an erase operation.
The escapement and erase logic 22 accesses the line memory 34 to determine the character
which was previously printed in the next leftmost character position from that of
the present print point. If the line memory 34 has signals stored in that position
corresponding to an erasable character, the automatic erase function is performed.
On the other hand, if the character position accessed does not contain an erasable
character or if the line memory at that position is empty, the logic conditions the
machine for manual erase and awaits the next keystroke operation. If the next keystroke
operation is a second actuation of the erase key, then the machine is deconditioned
from manual erase operation and again begins a sequence of operations in attempting
to perform an automatic erase operation. In the event that the subsequently actuated
key is not the erase key, but is an erasable character, then the manual erase operation
is performed. The operator is allowed to decondition the machine from manual erase
and return it to its normal operating state by operation of the space bar. If, on
the other hand, another function key is depressed, such as a tabulation function,
index function, carriage return or shift, the function is performed, the machine is
deconditioned from manual erase, and it returns to its normal operating state.
[0025] The block diagrammed control apparatus 32 of figure 1 is employed to implement the
functions described above. The apparatus 32 interfaces with the print mechanism 13
and its drive through the magnet drives 20 and 30. While the action of the electronic
controls 32 may, with state of the art techniques, be operated at very high rates,
the printer operation, requiring, as it does, mechanical movements, is much more limited.
Typical electronic typewriters on the market today have an operating cycle that has
four distinct states. A first state is a rest or wait state. As a key is actuated
and decoded, the typewriter shifts to a second state at which point the print cycle
is initiated. Once the print cycle is begun, is must be completed in a fixed time
frame since that time frame is fixed by the rotation of a shaft. Once the print cycle
is concluded, the typewriter is in its third state. At this time, escapement may be
performed. When escapement, or the time for escapement is concluded, the machine is
in its fourth state. At this time, the various control signals which have controlled
the print cycle and escapement are turned off and the machine returns to its original
state. In response to various conditions the typewriter may skip various functions,
for example, while the machine cycle always includes a time during which escapement
is effected, in certain conditions no escapement actually occurs.
[0026] The automatic erase function typically requires two iterations of the four machine
states. When actuation of the erase key is decoded, the typewriter has moved from
a rest state to a second state. A print cycle is begun but no print operation occurs
(i.e., a no-print cycle). At the conclusion of the print cycle an erase latch has
been set so that escapement is initiated and is accomplished as a backspace. At the
conclusion of the escapement, the control signals are turned off and the machine is
in a quasi-rest state, similar to a rest state except that the erase function is only
partially complete, not only is an erase latch set but a second cycle latch is set
indicating that line memory interrogation has resulted in detection of an erasable
character. On a second interation of the machine states (which follows immediately
after the first because the second cycle latch is sct) the print cycle is performed
with the print element controlled by signals read from the line memory and thus erasure
is effected. The escapement cycle is effectively skipped and, at the conclusion of
the second iteration of the machine states, the automatic erase function is concluded.
In accordance with the present invention, similar iterations of the same machine states
are effected but the cycle in which type impact occurs is initiated only after the
operator has selected the character to be erased.
[0027] In more detail, the typewriter of the present invention initiates similar action
in response to erase key depression as outlined immediately above. However, after
the first print and escape cycles, while the erase latch is set, a manual rather than
automatic erase latch is set indicating the failure to find an erasable character
in the interrogated line memory location. With the manual and erase latches set, the
machine returns to a wait state in which no further operation will be initiated until
a further key depression is detected. When a further key depression is detected, the
machine again goes through its various states corresponding to the first iteration
of the machine states for automatic erase. On this second iteration, no printing or
impacting occurs but instead, the printer is prepared for impacting in accordance
with the operator's key selection and a second cycle latch is set (assuming an erasable
character is selected). Escapement is also inhibited and as this cycle terminates,
a final or third cycle is begun since the second cycle latch is set. On this final
cycle, impacting and erasure occurs, escapement is again inhibited and all latches
are reset. If the operator has not selected an erasable character, the second cycle
latch is not set and thus, no impacting occurs on the final cycle; however, depending
on the operator's selection, some or all of the latches may be reset as will be described.
[0028] A preferred embodiment employs random logic in the form of a programmed processor
to implement the control 32, for example, a microprocessor, although it is within
the scope of the invention to implement control 32 in the form of discrete logic or
hard wired circuits. In an embodiment of the invention which has been constructed,
the microprocessor used was an Intel 8048. Clearly, other microprocessors could be
utilized. Regardless of implementation, however, the flow diagrams of figures 3 and
4 illustrate the signal and logic flow.
[0029] As shown in figure 3, control 32 in its normal state awaits a keyboard input. When
a keyboard input is detected at function 50, the character and velocity decode logic
18 determines, at function 51, whether or not the input corresponds to a character.
If it is a character, functions 53 and 54 are performed to store the character in
a line memory 34, and execute a print cycle wherein the character is printed on the
paper at the present print point. The print sequence 54 includes a function to space
(or escape) the print carriage such that, at the conclusion of the normal print operation,
the print point has moved to the next character location, ready for a following print
sequence. This operation typically requires only a single iteration of the four machines
states described above.
[0030] On the other hand, if the character and velocity decode logic 18 determines that
the keyboard input was not a character, then the function decode logic 38, at function
52, determines whether an erase function has been commanded. If it has not, the function
decode logic 38 checks for the existence of other function commands, in portions of
the logic which are not germane to the present invention and therefore are not described
herein.
[0031] However, assuming that the function decode logic 38 recognizes an erase command,
then an erase latch is set and the logic performed is illustrated in figure 4.
[0032] As shown in figure 4, the erase command is gated through the function decode logic
38 to the escapement and erase logic 22. A quantity is loaded into the escapement
counter 26 which, as disclosed, for example, in the document FR-A-2,426,574, operates
to backspace the print carrier. Since the escapement register 24 is used to access
the line memory, once the backspace operation (function 62) is concluded, the escapement
register 24 stores the location of the print point so it accesses the line memory
at the "backspaced" location. The escapement and erase logic interrogates the line
memory 34 at function 63 to determine whether the location accessed is empty. If it
is not empty, then the escapement and erase logic 22 determines at function 64 whether
or not the signals stored in the line memory 34 correspond to an erasable character.
If an erasable character :s found, the second cycle latch 107 (see fig. 5) is set
and the automatic erase function 65 is performed. Those functions are not disclosed
in detail here since they are identified in document US-A-3,780,846. In brief compass,
the erase media is enabled (lifted) by the magnetic drive 30, and a print command
is issued corresponding to the character found in the line memory.
[0033] If, on the other hand, either at functions 63 or 64, the escapement and erase logic
22 determined that the memory location accessed was empty, or an erasable character
was not found at the memory location, then the escapement and erase logic 22 conditions
the typewriter 10 for a manual erase at function 66 (i.e., the manual latch 112 is
set). This prepares the erase media for engagement on the conditions which are specified
below. Once that operation has been performed, the escapement erase logic 22 awaits
the next keystroke at function 67. The preceding functions from depression of the
erase key up to function 66 correspond to a single iteration of the four machine states.
[0034] In the event that the next keystroke actuation is that of an erasable character,
the keyboard control 16 sends the corresponding signals to the character and velocity
decode logic
18. The same signals are received by the function decode logic 38 which determines
that this keystroke actuation is not that of an erase key, i.e., function 68. Similarly,
the function decode logic 38 determines that the next keystroke actuation was not
a space bar, i.e., function 70. However, the character and velocity decode logic 18
determines that the next keystroke actuation was indeed that of an erasable character
which information is gated into the escapement erase logic 22. While the machine cycles
though the second cycle in which both print and escape functions are skipped, the
second cycle latch 112 is set. On the final cycle, the character and velocity decode
logic 18 formulates a print command to the magnet drive 20 which has the effect of
rotating and tilting the type ball, or other similar effects, depending upon the print
apparatus employed in the typewriter. However, since the machine has previously been
conditioned for manual erase (the manual and erase latches are set) at function 66,
the magnet drive 30 now energizes the erase magnet to lift the erase media. Thus,
at function 75, a manual erase operation is performed wherein the operator has selected
the character, and the machine has lifted the erase media such that the type ball
forces the erase media into the paper to effect the erasure. Following the print cycle
(in which erasure is effected), the machine is deconditioned from the manual erase
mode, that is, the latches are reset.
[0035] If, on the other hand, an erasable character was not the next character key stroked,
but rather a function key was stroked, then the decode logic 38 determines at function
74 that a function has been selected. This selected function is executed through the
escapement and erase logic 22 in combination with the other apparatus necessary to
perform the selected function. At the same time, the machine is deconditioned from
manual erase.
[0036] If, rather than stroking an erasable character or a function key, tne operator has
operated the space bar, then function decode logic 38 determines that the next actuated
key was the space bar. This information is gated to the escapement and erase iogic
22. The effect of this operation is to decondition the typewriter from manual erase
(function 71) in that the previously prepared circuit for the erase magnet through
the magnet drive 30 is eliminated.
[0037] Finally, if the operator has again actuated the erase key, as the next following
key, then function decode logic 38 deconditions the machine from manual erase, at
function 69, by interrupting the previously prepared circuit for the erase magnet
through magnet drive 30 and the sequence shown in figure 4 is repeated again starting
at the backspace function 62.
[0038] Figure 5 illustrates in detail the components of the erase and escape logic 22 required
to implement one embodiment of the present invention. As shown in figure 5, the erase
and escape logic 22 is provided with two sets of signals inputs, a first set from
keyboard decoding logic 38 and 18 identifying the actuation of a key corresponding
to a character, space, erase or other function; and a second set of input signals
from a decoding circuit arranged to decode the addressed content of the line memory
34 corresponding to the print point, the second set including signals identifying
a-character, function, space or empty state of the memory location.
[0039] As is indicated in figure 5, the two sets of signals are supplied, in selected combinations
to AND gates 100-102. AND gate 100, subjected to an input identifying an erase key
actuation and a corresponding character decode from the line memory, provides an output
to set the second cycle latch 107. At an appropriate clock time, the set output of
latch 107 is coupled through further AND gate 108. The output of AND gate 108 is provided
to the printer to cause execution of an erase cycle. The printer erase cycle includes
a print cycle in which the erase media is enabled and impacted by the print element
into the paper, and a skipped escape cycle. The same output of gate 108 is provided
to a delay circuit 109, the output of which is arranged to reset the second cycle
latch 107.
[0040] This operation corresponds to execution of the automatic erase function. Namely,
the AND gate 100 detects the depression of an erase key and the presence of a character
in the relevant location in the line memory, and as mentioned above, the second cycle
latch 107 is set so that at an appropriate time, the automatic erase function is executed.
[0041] In accordance with the present invention, however, AND gates 101 and 102 are provided,
the first subjected to an input from the actuated erase key and a corresponding decode
of an empty location in the line memory. AND gate 102 is also subjected to an input
derived from the depression of an erase key, with the corresponding decode from the
line memory corresponding to storage of a function command or space. The outputs of
AND gates 101 and 102 are coupled to an OR gate 110. The output of either one of AND
gates 101 or 102 indicates that an automatic erase function cannot be executed since
an erasable character is not found at the corresponding print point in the line memory
34. The output of OR gate 110 is coupled to an AND gate 111, clocked at an appropriate
time in the machine cycle to set a manual erase latch 112. As will be explained below,
setting the manual erase latch 112 temporarily inhibits execution or a printer erase
cycle. However, it should be recalled that, at the time the line memory 34 is interrogated,
the print point has already been backspaced or escaped and therefore, the typewriter
is in condition to execute a manual erase depending upon the next key actuation. Setting
the manual erase latch 112 puts the machine in a quasi-wait state, similar to a normal
wait state except for the set condition of the manual erase latch 112.
[0042] The set output of the manual erase latch 112 provides an input to AND gates 103-106.
The other input to AND gate 103 is provided from a character key actuation, and production
of an output from AND gate 103 provides a setting input to the second cycle latch
107. Accordingly, when AND gate 103 produces an output, the printer will execute an
erase cycle, causing an impact of the type element in the print cycle, but with the
erase media lifted. As shown in figure 5, the output of the delay circuit 109 is also
arranged to reset the manual erase latch 112 so that at the conclusion of the erase
cycle both the second cycle latch 107 and the manual erase latch 112 are reset.
[0043] AND gate 104 has a second input provided from a decoded function key actuation, and
the output of AND gate 104 is coupled to the printer to execute the selected function.
The same output, coupled through a buffer 113, resets the manual erase latch 112.
[0044] The o;her input to AND gate 105 is provided by a decoded space bar actuation, and
the output of the gate is provided to the printer which causes a no-print no-escape
cycle, and the same output, coupled through buffer 114 is provided to reset the manual
erase latch 112.
[0045] Finally, AND gate 106 has a second input provided by the decoded erase key actuation,
and the output of AND gate 106 is provided to reset the manual erase latch 112.
[0046] A comparison of the logic of figure 5 with the flow chart of figure 4 will illustrate
that the functions performed by this discrete logic circuit are substantially the
same as that shown in figure 4.
[0047] The clock inputs to AND gate 108 and 11I can be replaced by other state-determining
signals in the typewriter as will be apparent to those skilled in the art. The only
requirements are that, for example, once the second cycle latch 107 is set, the other
electronic components should be allowed to settle so that the signal provided to the
printer for the erase cycle are not indeterminate.
[0048] The clocking function at AND gate 111 is provided to prevent a race condition at
the manual erase latch 112. In the event that a reset signal is produced by depression
of the erase key 25 when the manual erase latch 112 is set, the clocking function
is arranged to insure that the resetting of the manual erase latch 112 occurs prior
to the setting of the same latch so that when the erase key 25 is depressed, the manual
erase latch 112 is maintained set in the event that the decoded contents of the line
memory 34 correspond to either an empty location or a function command. Similar function
is performed by the delay circuit 109, and those skilled in the art will appreciate
that other apparatus or signals for delaying the resetting of second cycle latch 107
can be employed, for example, other machine-state determined signals.
[0049] As has been mentioned above, however, the preferred embodiment of the invention employs
a stored program processor, preferably a microprocessor.
[0050] Appendices A, B and C, illustrate the program instructions (or code) used in a preferred
embodiment of the invention incorporating the logic previously described herein. Appendices
A and B comprise the code itself, including a series of statements listed in the column
entitled "Statement". The remaining portions of Appendices A and B, consisting of
the column labelled "Source" and the material to the right of the column labelled
"Statement" are explanatory material helpful in understanding functions performed
by the program instructions. Appendix C identifies the meaning of several of the statements
to enable the reader to more readily comprehend the subject matter of Appendices A
and B. It should be apparent to those skilled in the art that Appendices A and B are
but portions of the program instructions used to control a typewriter implemented
in accordance with this invention, but capable of other functions not directly pertinent
to the invention, and therefore, there are other collections of code referred to which
are not directly pertinent to the instant invention.
[0051] In more detail, Appendix A is the collection of codes which is referred to when the
typewriter recognizes that the erase key has been stroked. On the other hand, Appendix
B is a portion of the code which is referred to when the typewriter recognizes a printable
character has been stroked. These two code collections are interrelated. Note, for
example, that the instruction located at L33 includes a jump to Lll which is found
in Appendix B (in the column labelled "Source"). Likewise, the first instruction of
Appendix B "JB4" is a conditional jump to L502, and L502 is found in Appendix A.
[0052] Briefly, when an erase key is stroked, the carry bit of the accumulator is set and
the printer buffer pointer is decremented. This operation results in the printer buffer
pointer pointing at the memory location corresponding to the key depressed prior to
actuation of the erase key. After the ID word is examined, a conditional jump results
in a jump if the ID word indicates that a printable character was not found. The jump
is to location L500. The instruction L500 sets the manual erase flag. The following
instruction at L503 turns on the bit which controls the backspace operation and then
jumps to L17. L17 is also found in Appendix A, and one of the functions of this instruction
is to set the keyboard buffer pointer to the printer buffer pointer. The next instruction,
L30, sets bits for no escape and no print. Instruction L33 includes a jump to L11
which is found in Appendix B. This instruction is the output instruction which causes
the various control bits to be effective and the printer is thereafter controlled.
Accordingly, in the event that the typewriter was responding to depression of an erase
key, and the buffer did not include an erasable character, the cycle of the print
shaft which is initiated which instruction L11, results in a no print, no escape,
and the only significant event accomplished in this operation of code is setting of
the manual erase flag.
[0053] In the event that a manual erase flag is set, and the operator strikes a printable
character, the code at Appendix B is entered. The first instruction includes a jump
to L502 if the manual erase flag is set (L502 is found in Appendix A). The first few
statements at L502 insure that the shift magnet becomes set if the character case
is different from the case which would otherwise be printed to insure that upon printing,
the printed case agrees with the keyboard selected character case. The next instruction,
L506, turns on the erase flag, and then the instruction string, starting at L17, is
executed which terminates at L11 (Appendix B). The first pass through the code, entered
when a printable character is stroked with the manual erase flag set, has the effect
of turning on the erase flag, but in other respects, rotation of the print shaft which
is initiated at L11 is again a no print, no escape cycle. The next cycle of the print
shaft will be the cycle in which the print element is driven toward the paper for
imprinting the character keyed by the operator. With the erase flag on, (at L506)
the print element will be driven into the erase media to effect an erase operation.
[0054] From the foregoing, it should be apparent that the code shown in Appendices A and
B is effective to set a manual erase flag if the erase key is actuated and the relevant
buffer position does not contain a printable character. The code also illustrates
that actuation of a printable character with the manual erase flag set will inhibit
normal printing operation and instead result in an erase function.
[0055] Two examples will illustrate the operation. Assume that the following text is printed
on a page:
ABC DEF GHIJKLMN
assume the next keystroke is an erase key. When the electronics recognize the erase
stroke, i.e., function 52 (figure 3) a backspace cycle is executed (function 62) and
then the line memory is interrogated (function 63, 64). If the memory does contain
an erasable character, it is automatically erased (function 65). So long as the erase
key remains depressed, or is continually depressed the characters up to the G are
erased in this fashion.
[0056] After the erase of the G, the next depression of the erase key performs the same
functions except that at function 64, the electronics recognize that an erasable character
is not in the line memory. Accordingly, at function 66, the typewriter conditions
itself for manual erase, and at function 67 awaits the next keystroke. If the next
keystroke is an erase key, this is recognized by the electronics, the previously effected
conditioning for manual erase is deconditioned, and the logic returns to function
62 to initiate a further backspace. Since all other conditions are the same, the F
is erased.
[0057] If we assume that having erased the N through the G the operator wishes to delete
the space and continue typing adjacent the F, the operator depresses the erase key
following the erase of the G. As mentioned above, the typewriter conditions itself
for manual erase and awaits the next keystroke. If the next keystroke is operation
of the space bar, the resulting function performed by the electronics to merely decondition
the typewriter for manual erase and await the next keystroke. Since this deconditioning
does not result in the escape function, the next keystroke is the text that the operator
desired to place adjacent the F.
[0058] If we assume that the text shown above is typed, but that for some reason, the line
memory does not contain signals representing these characters, for example, because
the operator has moved the platen following typing and has then relocated the platen
to the text above, actuation of the erase key will result in a determination, at function
63, that the memory is empty. The machine then conditions itself for manual erase
and awaits the next keystroke. If the next keystroke is an N, a print cycle is performed
but with the machine conditioned for manual erase, the media employed is the erase
media rather than the print media and therefore, the N is erased.