Note: Descriptions are shown in the official language in which they were submitted.
37~
l UNDERSCORE ERASE
This invention relates in general to typewriters and more speci-
fically to means for erasing errors in a typing line where the type-
writer is provided with proportional spacing capabil-ity.
In order to accomplish the correction of information on a typing
line in a typewriter where an error has been made and where the in-
Formation to be corrected has been underscored, it is necessary to
remove both the underscore and the character which is being corrected.
This is particularly necessary in the situation where erasure is effect~
ed automatically upon the depression of the correction key on the type-
writer keyboard since in this mode of operation it is possible to remove
all characters in reverse order back to the erroneous character. The
need for the removal of the underscore as well as the character is
further necessitated because, in a typewriter having proportional space
capability, the character inserted in place of the corrected character
may not have the same width or escapement value and therefore, the
underscore may not correspond to the word or line length as is desirable.
When an electronic memory is included into the typewriter for its
operation and control, it is also advantageous to utilize an automatic
erasing arrangement similar to that disclosed in U.S. Patent No. 3,780,~46
to Robert Kolpek et al, commonly assigned herewith.
SUMMARY OF TH~ INVENTION
The improvement over the techniques which are capable with such
products as the IBM* Memory Typewriter comes in that the electronic
controls will automatically reposition the print carrier oF the typewriter,
erase the underscore and then erase the character upon depression of the
erase control key. In the event that the underscore does not correspond
to the full width of a wide character such as a capital "W" or capital
"M" in the proportional space mode of operation, the electron1c controls
reposition the carrier for a second underscore
*IBM is the registered trade mark of International Business Machines
Corporation.
LE9-77-016 -l-
)2
--2--
erase functlon to fully remove the underscore which has been applied
under that letter.
In an underscore erase operation, the under~core beneath the character
is first erased and then the character is removed by a second error
S correction cycle of the typewrlter. The inormation as to the presence
of an underscore is determined by checking one of the binary bits
stored in memory representing the character on the typing line. Since
all the bits in an eight blt byte are not utilized in the coding of the
alphanumeric characters as they are coded from the electrical contact~
on the typewriter keyboard and as processed by the processor, the eighth
bit which is normally on or represented by a 1 is changed upon the
underscoring of a character to an off or zero condition to indlcate that
that particul~r character has been Imderscored. This blt is changed ln
memory so that an error correction or erase command ls received and the
character is read from memory for utilization in the error correction
operation the eighth bit is sensed as a zero to indicate that that
character has been underscored and thereby initiates an underscore
erase routine in the typewriter to accomplish removal of the underscore.
Objects of the Invention
.
It is an ob~ect of this invention to remove the underscore and the
charac~er from a typed page in response to a single erase operation
keyboard command.
It is another object of this invention to revmoe the underscore fro~ a
composite character and the character regardless of character and
underscore width.
If is a further object of this invention to de~ect the presence of an
underscore under a character and to remove it when commanded to remove
the çharacter.
LE9-77-016
702
--3--
Description of the Drawing
FIG. 1 illustrates the electronics in b:Lock diagram ~orm ~hich is
capable of controlling the printer to accomplish underscore erase.
FIG. 2 lllustrates the pri.nter wlth ~he electronic inputs and ou~puts
which interface with the electronics of FIG. l.
FIGS. 3 through 7 are flow diagrams of the logic flows performed by
the logic represented in block diagram for in FIG. l.
FIG. 8 is a diagram showing the interrelations of r~gisters and accumu-
lators which manipulate the data within the logic and which utilizes
the code contained in Appendlxes A through D.
A more complete understanding of the invention will be h~d from
a reading of the detailed description to follow.
Detailed Description of the Invention
Referring to FIG. l, there is illustrated a typewriter lO 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, tabultion~ correction and other normal printer functions~
When a key lever on the keyboard 12 is depressed to effect the
: selection of a character for printing, the keyboard apparatus 12 causes
the switches to close in a predetermined pattern thereby transmitting
signals from the keyboard 14 to the keyboard control unit l&. The
keyboard control unit 16 captures the electronic inputs from the 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 thel1 converts the signals from the keyboard control ~mit 16 i~o
LE8-77-016
3t~Z
signals which represent ~he posltion on ~he type element of the
character selected by the key lever depresslon. Thls is accomplished
by converting the keyboard control unit 16 slgnal into inpue signals
to magnet drivers 30 which then efEect the rotation and the tilt of a
single type element 15 or other conventional selection technlque, to
position the type font desired at the print point and then the select;lun
of other controls; such as the velocity with which that type font is
propelled toward the printed page.
The keyboard control unit signals 16 are simult~meously read Lnto
the escapement logic 22 which then through a conventional table look up
determines the assigned escapement va].ues for each of the ch~racters
which are represented by the output of the keyboard control unit 16.
These escapement values or width may be a standard width such as for
example using a l/60th of an inch per unit, 6 units for a 10 pitch
escapement or 5 units for a 12 pitch escapement. Addicionally with the
escapement of characters being defined as units of l/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 responsive to the keyboard control signals and effecting
- proportionally spaced character printingO
The position of the carrier or the print point of the typewriter is
constantly stored in the escapement register 24 which is a portion o~
the escapement logic 22, thereby provlding a current location, measured
from the left most point of travel of the carrier 17, and this value ls
constantly being updated as the carrier 17 translates left or right
under the control of any of the keyboard signals. The escapement logic
22 outputs the width of the characters which have been selected at the
keyboard 12 to the escapement counter 36. This is necessary to provide
a control over the escape~ent functlons of ~he printer. The escape~en~
counter 36 then stores on a temporary basis the information necessaxy
to contr-l the translation of the print carrler 17 over a predeter~lne~
LE9-77-016
70Z
--5--
or preselected dis~ance. The escapemen~ colmter 26 ls controlled in
lts operatlon by the signals emanatirlg from the integrator 2~ which
has signals going into it representing the ou~put o~ the pitch l9
selection switch and the photoemitter/sensor 21 associated with the
lead screw 23 and the escapement sLgnal wheel 25 which indicates the
portion of a complete rotation through which the lead screw 23 has been
rotated. The pulses created by the photoemitter/sensor 21 arrangemen~
on the end of the rotatable lead screw 23 of the typewriter 10 effect
the decrementing of the escapement counter 36. A4 long as the escapement
counter 36 contains a numerical value, the photoemitter/sensor 21 wl~
then pulse the escapement counter 26, through the :Lntegrator 28, and
cause ~he escapement counter 36 to provide an O~ltpUt signal to the
appropriate magnet drivers 30 to cause movement of the print carriage.
The escapement or movement of the print carriage ls a result of clutches
31 activated by signals emanating from the magnet drivers 30 which are
provided their input from the escapement counter 36. The escapement
signal, the direction signal, the drive signal and the erase signal all
may emanate from the magnet drivers 30 which are controlled ultimately
from the main keyboard 14. The escapement magnet driver 30 causes the
release of the lead screw 23 and thus allows its rotation together with
the emitter wheel 25 which interacts with the photoemitter/sensor 21
thus creating the signals discussed above. The direction magnet driver
controls the engagement of the clutches 31 in the drive unit to determine
the forward or reverse direction of the carrier, by controlling the
rotational direction of the lead screw. The direction magnet driver
provides the engagement or the coupling between the main drive motor 33
of the typewriter 10 and the lead screw 23, through the power tranfi~ission
apparatus 35 or drive module.
The erase magnet driver 30 controls the elevation of the erase tape
from the withdrawn position so that any subsequent printing effected
by the print element 15 causes the impacting of the erase media agains,
the pag~ to effect erasure, if the character being impacted was the same
LE9-77-016
7~)~
--6--
character as ~Jas previous:Ly impacted onto the printing ribbon at Lhat
print point.
The printer control unlt 41 contains the character ve:Locity decode
logic 18, the escapement logic 22, the escapement register 24 and the
escapement counter 36, and the line memory 34. AB signals are decoded
by the character and velocity decode logic 18 for subsequent util-l~atlon
by the magnet drivers 20 for selection, that same information is
temporarily stored in a memory designated as the line memory 34. Th's
memory register is capable of receiving the storable data and placing
it into the line memory 34 in the sequence in which Lt has been
received, The line memory 34 is capable of being read in reverse tc
determine characters which have been previously prln~ed and machine
functions which have occurred during that particular line of operation,
such as the underscoring or space command.
Functions of the typewriter are controlled by the function portion 26
of the keyboard 12. The functions which may be included into such a
typewriter include underscore, tabulation, space, carrier return, shift
and index. 0f particular interest in this case is the underscore
function. The underscore command is sent from the keyboard 12 as a
series of electronic signals emanating from the swltches 13 contained
in the keyboard to the function decode logic 38. The function decode
logic 38 determdnes which signal has been received and then pas~es t`nat
function decode logic output into the escapement logic 22. The
escapement logic 22 receives the decoded function signals and determines
Z5 whether any escapement function is involved.
In the case of ~ord underscore, the characters are already stored in
memory when the underscore command is keyboarded. This is due to
the fact that the underscore command is keyboarded after the last
character which the operator desires to underscore has been inserted,
by way of the keyboard 12, into the printer 10 and the control logic.
Although the actual underscore command follows the text to be underscored
LE9-77-016
. .
z
in cases involving line underscore where more than one word and ~he
intervening spaces are underscored, the keyboard 10 has been
manipulated at the begimling of the underscora~le text to indicate tha~
that is the starting point for any subsequent line ~nderscore co~mand.
This is accomplished by depressing the alternate ~unction key or code
key and a predetermined and designated alphanumeric key on the
keyboard 12. Then the text to be underscored is typed and followed
by the line underscore command. As a result of the line underscore
command, the memory is searched for the "start o~ underscore" code or
alternatively if the word underscore is the underscore command the
memory 34 is searched for the next preceding space or tab which has
been recorded into memory 34. During this reverse search operation
for one of the codes which indicates a starting point for the
underscoring, the eighth bit of each of the recorded characters, nu~.erals
or spaces, collectively referred to as graphics, is converted to a 3ero
from the normal one condition. With the eighth bit of the code bei.g
turned off or converted to a zero, this will indicate on any subsequen,
functions where underscoring is partially or totally determinative, that
the graphic has been underscored. Upon the finding of the start
underscore, either recorded as a result of the line underscore com~and
or upon the finding of the space or tab function referred to above,
the graphics accumulated between the point of the entry of the underscore
command and ehe start underscore code is then utilized to determine the
distance through which the carrier 15 of the printer 10 must reverse
escape. With this distance determined and entered into the escapemert
logic 22, and par~icularly the escapement counter 36, the printer is
then caused to reverse tabulate or reverse escape to the start under-
score position. The escapement register 24 has that location stored
therein and the carrier 17 reposltions itself over the start of
underscore location.
As this point the underscore logic 46 will then command the escapement
logic 22 to cause appropriate escapements and the character and velocity
decode logic 1~ to command the printing of underscores until the c~rrier
LE9-77-016
'7~2
--8
has returned to the position at which the underscore command was
entered. The position at which the underscore command was entered
ls stored in the line memory and the escapement lo~lc Z2 compares the
carrier location, under the control of the underscore logic ~6 with ~he
position recorded in line memory. As long as that position is more than
one underscore width d-lstance from the print carrier posltion~ another
underscore function operation will be accomplished the underscore
printed together with the appropriate escapement until the point at
which the underscore command was entered is reached by the carrier.
When an underscore operations ls initiated the first character to be
underscored may not be an integral number of underscore lengths rom the
end point of the underscore. If that is the case, the underscore logic
escapes the carrier an amount after the fi~st underscore print to ali~n
the carrier an integral number of underscore lengths from the end of
underscore location. This will cause a small overlap between the first
and second underscore print marks but will accomplish the alignment
on the last underscore character. This particular sequence i5 neces3ary
where the text to be underscored has been printed in a proportional
spacing mode of operation where each character may vary in width an~
~0 escapement value. The realignment of the carrier for the last impact
of underscore is not hecessary where the apparatus is being operated
in a uniform pitch mode such as 10 or 12 pitch operation.
Character Erase
If it is desired to return the carrier to some point in the line and
erase a character which has been underscored, it being inmaterial
whether it be the immediately preceding character or one earlier in the
line where all characters are to be remo~ed back to the erroneo~s
character, the erase command is accomplished by the depression of the
erase key on the typewriter 10. When the erase key on the typewriter
keyboard is depressed a signal emanates from the special function
portion 26 of the keyboard 10 to the function decode logic 38. The
function decode logic 38 then determines that an erase function has
LE9~77-016
:
.. . . . . . ..
.9_
been keyed. The outputs from the functlon declode logic 38 are fed
into the escapement logic 22 which causes the line memory 34 to be
read in reverse order to determine the escapement value necessary to
reposition the printer rarriage over the appropriate print point ~or
correction. At the time that the line memory 34 is read to determ:Lne
the character and therefore the escapement value, the escapement
logic 22 detect~ the eighth bit condition belng a æero or off condition.
This causes the escapement logic 22 to divert control to the erase
underscore logic 42. The erase underscore logic 42 then issues a
series of electronic commands through the escapement logic 22 to cause
the print element 15 and print carrler 13 ~o reverse escape to position
the carrier 13 over the print position occupied by the character to be
removed. This is accomplished by loading the escapement counter 36
with the number of escapement increments corresponding to that character
width and the escapement counter 36 then commanding the magnet drive s
30 for escapement magnet, direction magnet and the drive magnet, to
reposition the carrier in the reverse direction the requisite number of
escapement increments. At the same time the escapement register 24
ls loaded with the position of the new print point. The erase
underscore logic 42 commands the character and velocity decode logic 18
to effect a selection of an underscore and to effect the printlng of the
underscore. This is accomplished by directlng, to the magn~t drivers
20, the appropriate rotate codes and velocity signals to effect the
printing of the underscore. At the same time, as a result of the
erase underscore logic 42 having controlled the escapement logic 22 ~nd
the escapement counter 36, the erase magnet has been turned on to
effect the positioning of the correction or erase tape 37 between
the print element 15 and the printed page. Thus when the underscore
is printed, it effects the erasure of the underscore. The erase
underscore logic 42 control routine then causes the reading of the
line memory 34 by the character and velocity decode logic 1~ and
the decoding of the character code stored in the line memory 34 to
effect a second selection using rotate, tilt and velocity codes and
the turning on of the appropriate magnet drivers 20 to effect the
LE9-77-016
'7~)~
--10--
the rotation and tilt of the type elemen~. The er~se underscore logic
42 also command the escapement logic 22 and the escapement counter 36
to inhibit escapement on the next cycle but to turn on the magnet
driver 30 effecting the raislng of the erase tape 37. Thus upon the
next machine cycle initiated by the escape underscore logic 42, this
being the second complete machine cycle opera~ed at the same print
point, the character is then selected and the erase med-la 37 positioned
between the print element 15 and the prlnt point on the paper thus
affecting erasure of the character.
Should additional cycles be necessary to correct additional characte~s,
the sequence is then repeated for each depression of the error corre~t
or erase key on the keyboard 12 or ls continued Imtil the correction key
is released after being held in a depressed position.
In cases where the typewTiter 10 i3 capable of printing in a proportional
spacing escapement arrangement, additional electronic controls are
required to ensure that the character and the underscore are appropr'ately
removed.
In the proportional mode~ when the line memory 34 is read to determine
the character immediately preceding the print point, the escapement
value for that character is determined and the print mechanism is
reverse escaped, as described previously, through that escapement value
or that number of escapement units corre~ponding to the character read
from line memory. Thus it can be said that for narrow characters, a
command to erase will result in the underscore type font on the typ~ng
element being impacted onto only a short portion of the underscore line
with the right end thereof extending onto non-printed paper. This results
in the engagement of the correction medium 37 with non-printed paper
and has no visual effect of any substance. When a character is read which
has a width or escapement value exceeding the width of the underscore,
the escapement logic 22 determines that condition from the character
and velocity decode logic 18 and inputs a signal to the escapement
LE9-77~016
.. .. . . ... . . . . . .. ... .. . .. . . . . ... : . .. .. . ..
7~)~
--11--
logic 22 to reverse escape the pr-Lnt carrier 13 a distance e~ual to the
width of the underscore. It then commands ~n erase operation as
described above wherein the erase media 37 is positlan~d between the
type element 15 aad the paper and commands are conveyed from the
character and velocity decode log:lc 18 t:o l:he magnet dr-ivers 20
effecting the appropriate positioning oi the type element 15 for the
impacting of the underscore type font OlltO the erase media and the
erase media then onto che printed page. Upon the completion of the
erase cycle the erase underscore logic 42 then commands the
escapement logic 22 to reverse escape any remalning value necessary to
place the left end of the underscore type font at the left edge of the
character.
At this point a second erase cycle, while selecting the underscore
through the character and velocity decode logic 18, is accomplished
thus removing a second small segment of underscore from the page. Also,
this point the type font and print mechanism are properly pasitioned so
that the character which has been read from line memory 34 may then l~e
selected by way of the character and velocity decode logic 18 to effect
the selection of that type font and impacting onto the erase media and
thence onto the page for erasure. As each character is read from the
memory 3~ the erase underscore logic 42 through the escapement logic 22
controls the escapement register 24 to reflect all intermedlate positions
of the pri~t carrier and print polnt through the mutiple cycles. As
the print carrier is moved, the photoemitter/sensor 21 signals through
the integrator 28 acts to reduce the count in the escapement counter 36
and thus control the magnet drivers 20 which then in turn control the
dlrection, drive and escapement magnets. In any cycle when the escapement
counter reaches a zero value, the escapement, direction, and drive
magnet drivers are turned off and the escapement logic 22 then relea3es
the character and velocity decode logic 18 to perform the function of
outputting signals to the selection magnet drivers 20.
The controls necessary to control the typewriter 10 which have been
explàined above in b~oc~ diagram form are preferably embodied in
LE9-77-016
.,
... . . -- , .
7r~Z
12-
operational sequences of ~he electronlc logic and devlces whlc,h may
be represented by the flow charts ln FIC;S. 3 through 7. To more
fully understand the operat-f.onal sequenc:es and the lvgic c~ntrols whlch
are a part of the block di.agram illustrated in FIG. 1., refer to FIGS,
3 through 7. Referring to FIG. 3, the main flow of the logic
contained in the underscore and underscore erase logic are illustrated
in conventional flow chart form.
During normal typing operations lk is from tisne to time necessary to
cause words or lines of typed material to be underscored. It is alsc
necessary, considering the occaslonal error made by a typis~, to
have the ability to correct errors made in underscored te~t.
Referring to FIG. 3 and the start point therein, it is assumed that
typing is in progress. When a signal is received in the electronic
logic it is determined whether the signal which has been received is
a character. If the code emanating from the keyboard control unit to
the character and velocity decode logic 18 is in fact a character 50,
the routine will then branch by the "yes" route to cause the placing of
the character into the line memory 52. Upon the completion of the
placing of that character 52 into the line memory 34 the routine wil'.
then flow to the print character sub-routine. The prin~ character
sub-routine will be e~plained later.
If the character and velocity decode logic 18 does not detect a code
representing a character then the logic flow branches through the "no~'
path to the question of whether the signal represents a line underscore
function 54. In the event that the coded function decode 44 determines
that the signal is a line underscore, the line underscore code is then
stored into the line memory 56. At the same time that the line underscore
code is stored into the line memory 34, a line underscore flag 56 i~ set
to indicate upon subsequent commands that the search back through the
line memory must be extended until the line underscore flag is
encountered.
LE9-77-016'
. .
~ 8~
-13~
Upon the completJon of the settlng of the 'Iine underscore f'lag,
the routine then branches back to t'he star~ of thls flow path. In the
event that the decislon is made that there is no line underscore
function 54 received by the coded function decode 4~ the "no" path is
followed to the decision bloc~ 60 in wh:Lch the question is asked "is
there a word underscore function being received?" If the answer to
that question is "yes" then the flow path branches to the underscore
routine, to be described more fully below. In the event that the
answer to that decision is "no" then the flow passes through the llno
branch to the decision block to determine if the functlon being receive~
by the coded function decode block 44 of the electronics as :Lllustrated
in FIG. 1, is an erase function 62. If the code does represent an
erase function then the flow branches to the erase routlne. If the
code is not that of an erase function, then the logic flow branches ':o
other routines o the electronics which are not material to this
invention.
In the event that the code received by the character and velocity
decode logic 18 represents a character and that the logic flow has
branched through the storing of ~hat character into line me~ory as
indicated in FIG. 3 and described above and that the flow path is
subsequently branched to the print character routine, the next functl~n
o the electronics is to place a code through the escapement logic ~2
and into the character and velocity decode logic 18 to provide outputs
to the magnet drivers 30 as shown 6~ in FIG. ~. These magnet drivers 3~
arè representative of and control the rotation, tilt and veloclty necessary
to effect the printing of the selected character. Upon the complet.on
of the signals being sent to the magnet drlvers 36, the escapement value
is then determined from an escapement table 66 and the value for that
character is placed in~o the escapement counter and the escapement
register is updated to indicate the destination of the carrier 17 and
print element upon the completion of the cycle. Upon the escapemellt
counter being loaded with the escapement value representing the char~cter,
the escapement direction and drive magnets 30 are then turned on as a
LE9-77-016
.. i .. . ~ .. . . . . . .
t7~2
14-
result of the escapement coun~er 26 being loaded and the carr-Ler ls
escaped. As the carrier 17, the photoemitter/sensor 21 together w1th
the pitch control will provide feedback signals through the integrator
28 to the escapement counter 36 to reduce the count and at the same t'ime
provide a signal to the character and velocity decode logic 18. When
the escapement counter 36 ls decremented to ~ero as a result of the
photoemitter/sensor pulses indicating movement of the carrier, the
escapement counter 36 will turn off the magne~ drivers 30 thus comple,~.ng
escapement.
In the event that a word underscore function 60 has been detected by ~he
coded functlon decode block ~4 and as a result of the character and
velocity decode logic 18 determining that there is no character being
keyed at the keyboard, the flow branches to the underscore routine, as
described with respect to FIG. 5. Upon the branching to the underscore
routine, the value in the escapement register 24, the present carrie~
position, is stored in memory 68 for future use and the preceding
characters in line memory is then read 70. Then signals derived fro-,~
the line memory 34 are processed by the underscore logic 46 to determ-ne
if the code or character being read from the line memory is a space or
tab code 72. If the code is a space or tab code then the underscore
logic determines whether the line underscore flag has been set 2~. If
the underscore flag has not been set, then the process branches to the
playout routine.
If the line underscore flag has been set, then the logic determines 25 whether the code previously detected is a space 76. If the code does
represent a space then the stored carrier position is decremented an
amount representing the space width 28. If the code represented is not
a space, then it must be a tab command and in that case a carrier
position, which was stored in line memory at the time the tab comma~ad
was initiated, is read into memory as the stored carrier position 80.
Upon completion of the storage of that carrier position code, the routine
LE9-77-016
'7~Z
-15-
then branches back to polnt UN 7 to repeat the cycle with respect to
the next code immediately precedLng in the llne memory.
After the decision has been made that the code has been in fact a space
code and the carrier position has been decremenLed by an amount equa
to the syace width, the routine then branches to UM 3 which will be
more fully explained subsequently.
If the decision i~ made that the charact:er belng read from the memory i~
not a space or tab code 72, then the logic flow branches to the decision
block where the question is raised "is the character a line underscore
code?" 82. If the answer to that decision is "yes" then the log-lc
checks to detennine whether the line underscore flag is set 8~. If ;he
decision with respect to that question is "yes" then the logic then
branches to the playout subroutine to be more fully described below.
If the answer to that decision is "no" then the logic will then branch
to a path which is the same as if the character was not a line underscore
code in decision block 82. At this point, the logic flow has deter~:Lned
that the code is not a space, tab, or line underscore code. If that
condition exists then the code belng read from the memory must of
necessity be an alpha or numeric character. Thus the eighth bit of that
character code is turned off or conditioned to a zero state in memory 8
The escapement value is then determined from the table look up and the
stored carrier position is decremented that escapement value and rest~red
in memory for future manipulation 88. At this point, the underscor,
routine is then repeated with respect to each character positione u-~til
such time as the routine goes to the playout routlne; which only occurs
upon the discovery o~ a space or tab or a line underscore code with the
line underscore flag being set appropriately.
Referring now to FIG. 6, which represents the playout routine referred
to immediately above, upon the satisfying of the conditions requir~d as
described above ~nd illustrated in FIG. 5, the routine will branch to
LE9-77-016
,
7(~
-16-
playout routine. As was descr-Lbed earlier wlth respect to FIG. 5,
the underscore routine has calculated a pos-ltion as it moves back
through the memory which will represent the position to which the
carirer must reverse escape before the starting of the actual
underscoring of the characters. This position which has been determined
as a result of the underscore routine ls referred to as the calculateo
carrier position. The playout routine represented by FIG. 6, starts ~y
subtracting the immediately above referred to calculated carrier posltion
from the position that the carrier actually occupies; that being the
present carrier position at the end of the text to be underscored 90
The remainder of this subtraction operation is then placed into the
escapement counter 36. The underscore logic 46 then causes the reverse
magnet and the escape magnets to be turned on through the escapement
counter 36 to effect reverse escapement 9Z. Upon each succeeding loglc
lS ~y~le, the escapement counter 36 is then compared with zero 94 and if the value of the escapement counter is not equal to zero then the "no" path
is followed and the escapement counter 36 continues to accept control
pulses emanating from the photoemitter/sensor 21 decrement 96 the value
in the escapement counter 36. At this point, the logic path returnP to
the decislon block as the escapement counter equals zero 44. As the
e~capement counter 36 i8 decremented it will eventually reach a zero
value and the yes path is followed. At this point, the underscore
logic will then place a code into the character and velocity decode to
effect the printing of the underscore under the character 98. Upon t~e
~S printing of the underscore mark under the character, the velocity and
character decode logic 18 will then cause the normal escapement for the
underscore character 100. The underscore logic then will compare thP
carrier position upon the completion of the underscore print operation
to the posltion which the carrier occupied at the time that the
underscore routine was entered 102. This position was stored in memor~
at the beginning of the underscore routine for future comparison. If the
carrier is not at the same position, then the underscore logic will then
cause the placing of another underscore code under the character and
cause velocity decode logic 18 to effect printing and escaping as ~ust
previously described.
LE9-77-016
7l~Z
-17-
Upon the carrier reaching the previous positLon, the decision w-lll be
made that the carrier is at the previous position and the logic
will then cause a branching from the playout routlne ba~k to ~tart in
FIG. 3.
In the event that an error has been made in the typing of a character
prior to the underscoring or an underscore is placed in a position whicl,
the operator does not desire to have underscored, the erase routine ~y
be entered as a result of the special functions 26 portion of the
keyboard 12 indicating that erasure or correction is to occur. The
function decode block 38 as illustrated in FIG. 1 will receive ~he
erasure signal and read the next preceding character code in the line
memory 34. Upon the function decode block 38 determining that there
exists an erase command, the erase logic 42 will assume control and will
check the code from line memory 104 to determine if the eigh~h blt of
that code is in an oEf condition or a zero state 106. If the eighth
bit is not in an off position the routine will branch to other functions
not relevant to the erase underscore routine. If the eighth bit is a
zero or of~, the "yes" path is followed and the escapement value is then
determined for the character code received by the erase logic from
memory 108. Upon the determining of the escapement value, it is then
compared to the width value 5 to determine if the escapement value is greater
than S escapement units 110; which is the width of the underscore mar~.
If the escapement value of the character which has been read from the line~
memory is less than or equal to 5 the "no" path is followed and the
carrier is then caused to reverse escape, by substantially repeating the
same operation as described earlier by the value of the escapement fcT
character read from memory 112. This reverse escapement is effected by t`ne
reverse escapement control of the escapement counter 36 and the reverse
and escape magnets drivers 30 as controlled through the escapement logic 22.
Upon the completion of the escapement of the carrier 17 in the reverse
direction to the designated position as immediately described above,
the erase logic 42 and underscore logic 46 act through the character and
LE9-77-016
.
-L8-
velocity decode 18 and the escapement loglc 22 to condition thc erase 30
and rotate magnets 20 to effect the posltioning oE an correction medllm
37 between the type element 15 and the prlnted page and ~he appropria~e
selection of the underscore character and in then lmpacting of that
character onto the erase media 37 to caLLse the removal o~ the underscore
from the printed page 114.
Upon the completion of the erasing of the underscore, the erase logic
42 causes the character code read from llne memory 22 to be entered
into the character and velocity decode :Logic 18 and controls the escape-
ment logic 22 to effect the activation of the erase magnet driver 30together with the selection of the character as controlled by the
character and velocity decode logic 18 to cause the character to be
erased 116.
If the escapement value of the character read fro~i line memory is greater
than 5 escapement units, such as capital IIW'1 and capital "M", then the
logic will branch to cause the carrier to reverse escape 5 units and erase
5 units of the underscore (the width of the underscore type font) lg.
Then 5 will be subtracted from the escapement value of the character as
determined from the escapement table and the logic will then branch back
to the decision block "is the escapement value greater than 5 units?" llO.
At this point the answer will be "no" and the sequence previously described
will be followed.
The embodiment which this invention may take may be one of several
alternatives forms. One form described above in conjunction with the
block diagrams and flow charts illustrates one embodiment. An alterna ive
embodiment may be an electronic processor control which may operate in
conjunction with a permanently configured read only storage in whicn a
series of instructions and codes may be stored. This electronic
apparatus would correspond to the apparatus as described in conjunction
with FIGS. 1 and 3 through 7.
LE9-77-016
7C3Z
-19-
In such case, an alternative to the 10w d:lagrams lllustrated in
FIGS. 3 through 7, codes or com[nands may be stored ln the read only
store to cause the electronics to process the informa~ion ~om the
keyboard and to control the printer in a predetermined sequence of
steps. The commands and codes stored in the read only store may take
the form of those attached in Appendix A and Appendix B. Appendix A
is a listing of definitions which indentLfy and are associated ~7ith
particular registers or particular bits ~lthin a byte and equates those
register designations and or bit designations with mnemonics.
Appendix B is the complete listing of a set of instructions ~hich serve
to control the processor and may be programmed or coded as desired in
order to control the electronic processor. Particular embodlments of
the code or instructions may be modified as desired by one skilled
in the art to accomplish the particular function of the invention.
Additlonally it should be recognized that a programmable processor may
embody a program which may be written conforming to the requirements
of that processor for accomplishing the same result.
Referring to Appendix B, Column 1 is the address, in hexideclmal code,
where that particular instruction is stored. Column 2 represents the
hexidecimal code for the instruction and is stored in the location
designated by the corresponding information in Column 1. Column 3 is
the mnemonics indentifying the start point of particular sub-routines.
- Column 4 is the mnemonics for the instruction which the processor thenexecutes. Column 5 contains mnemonics which then, through definitions
and equality statements in Appendix A assigns numerical values for
registers or bits as appropriate for the -lnstructions contained in
Column 4. Column 6 are explanatory comments.
With reference to those bytes illustrated in the two byte columns,
these bytes represent how that particular instruction would appear in the
read only store memory. The ones and zeros in those bytes are dedicated
LE9-77-016
.... . .. ..
7~
-20-
values which remain unchanged for ~hat particular instruction ~7hlle
the B contained in the instruction code :Indicates the bits to be tested
~nd the A's are representative cE the address to which the ~n~tructlol
series will branch upon the mee~ing of partlcular conditions set fort~,
depending upon whether the bits ~ are represented by a 1 or 0.
Referring to other instructions, the letter D represents a fixed valtle
in meMory and is determined by the individual implementing the partlc~lar
devlce.
The R's are representative o~ the numerical designation for 1 of
32 separate registers which are available for storage of data and
which are available to the processor.
Appendix D includes an instruction su = ry which lists the mnemonic,
the name of the instruction represented by the mnemonic and a brief
description of the function performed by the processor as a result o
that particular instruction.
As an aid to understanding the description of the instructions
contained in Appendix D, reference should be made to FIG. 8 which is
illustrati~e of the flow of the instructions between different
registers, memories and accumulators.
While the invention has been particularly shown and described with
reference ~o preferred embodiments thereof, it will be understood by
those skilled in the art that the ~oregoing and other changes in fo m
and details may be made therein without departing from the spirit
and scope of the invention.
LE9-77-016
. . _.,
3 70;~
APPENDIX A
MTARG EQUALS O SUBADDRESS OF PAST CARRIER POSITION
LTARG EQUALS 1 ADDRESS OF PAST CARRIER POSITION
LCNT EQUALS 2 ADDRESS OF PRE';ENT CARRIER POSITION
MINI EQUALS 3 SUBADDRESS OF PRESENT CARRIER POSITIOM
MLCNT EQUALS 4 MEMORY LINE COUNT, ADDRESS LINE I~MORY
KBD EQUALS 5 KEYBOARD REGISTER
PM EQUALS 6 PRINTER MAGNET REGISTER, REPRESENTS OUTPUT
TO PRINTER
REV~fAG EQUALS 1 REVERSE MAGNET
SENSOR EQUALS 7 REGISTER THAT CONTAINS INPUT SENSORS
EMT EQUALS 2 EMITTER REPRESENTS ONE UNIT OF ESCAPEMENT
ECNT EQUALS 8 UNITS OF ESCAPEMENT REGISTER
WKl EQIJALS 9 WORKING REGISTER
ESCTABL EQUALS 100 TABLE THAT CONTAINS ESCAPEMENT VALUES OF
- CHARACTERS
VELTABL EQUAI,S 200 TABLE THAT CONTAINS VELOCITY VALUE OF
CHARACTERS
ERTAPE EQUALS 3 ERASE TAPE LIFT MAGNET
VELMAG EQUALS 4 MAGNET T~LAT SELECTS VELOCITY OF IMPACT
CHARMAG EQUALS 5 MAGNET THAT SELECTS CHARACTER
Bl EQUALS O FIRST BAIL FROM KEYBOARD
B2 EQUALS 1 SECOND BAIL FROM KEYBOARD
B3 EQUALS 2 THIRD BAIL FROM KEYBOARD
2~
7r)2
W o Ul o Ul o Ul
ooooooooooooooooooooooooooooooooo
1-- h I t~ W D~ ~ w ~ I-- hll U O W ~ ~1 Ul w 1~ v ~1 a~ ul w 1-- 0
O W ~ o W ~ o ~ u ~ P 3~ O W ~
O O ~I W ~ O ~ CO ~ O W W W ~
U~ 3
t ~ tl t W ~ tl tl W t ~ ~ t ~ t1 0 tl 1~1 1~ 3 ~ t~ 3 t
t~ o j~ X ~ O ~ O W X a K U~ X W W W W o 7~
~3 æ
w
~I H ~ ~rl W 3 U~ H U~ t
~3 t~ ~ ~3 t W ~ ~ m ~ ~
W W U o
H ~3 W o C C C C
3: hi Z ~ 3 1-3 1-3
W t t'~ t'l C H
~3 ~ t
t~ O
O ~d
t~
2~
7~
t W U~ ~ Ul O U
1-- Ul Ul Ul Ul U ~ P ~P P ~P ~P ~ P ~P W W W W W W W W W W W W W
W ~ U1 'P ~ o ~ o W O IP W /~\ ~ ;`~ o W
W t~ ) o t~
æ ~ D
W ~ ~ W C.l W ~1 W Cl W ~ tW t~ ~ W~ ~ d ~ W t~ tl tl
~~' ~ æ ~ c x ~ ~ o ~ t1 ~ ~ ~ w ~
D ~ D D D
D ~w
o
.~,
2~
7~),'2
w W
~g
_l oooooooooooooooooooooooooooooooooo
O ~ n a~ ~ n ~ ,n n o~ u u ul ul ~n
,n ~ ~o o W 'Y o ~ co ,P 'v co W co ~ o ~ ~ o ~ "~ P ~ o ~ oo o_~ ,~ X
W o~ Ul ~ W o o W o W
~ U, iP W
,n t n ,t~ t r n, ~ ~ t ~ W U n ~ W U~ J~ t ~ t r cn t~ ~ ,. n r~ t~ r ~
o ~ H tl Z i~ Z X~ H H jCI
t,i
C
'~ t~ 'Y ~d t~ W W W
H 5~ H " Z i~ ~ Z
o (~ a a ,à
~W ~' o
H
H W
Z ~d ,
2~ .
,
7~)~
W ~ O ~n
~D
oooooooooooooooooooooooooooooooo
O OOOOOOOOOOOOOOOOOOOOC~GOo
o ~ co o ~ co o o ~ ~ W ~ ~ o ~ ap) o~ WO ~ 0~ V
~D ~.n o ,P ul ~ W
o
~1
t~ ~ ttd U~ t~ U~ t~ t~ t~ W~ 3 t~ ~1 ] U~ t~
C t~ t~ O j~ 1~ J z j~j ~j tl 3
Q cn ~ tl
~ W W
O ~ O C
H H~,
C U~
U~ H ~ 8
~3
H O
~3
t~ t~
W~
5~
1~1 !3 70~
t~ W W t~) ~ ~ ,'--
tli lll Q Ul O Ul O ~rl
~I OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOC~OOOOoOOOOOOOOOOOOOOOOOOOOOC)
O t~ )WWWWWWWWWWWWt~lW~
1- w~ ~wl-o~U~W~ ~W~Yo
O ~ co ~ CO O _l ~ ~ ~ O ~ 00 ~ 00 ~n ~ OD O 0~ 0 CO ~ ~ O ~ OD O ~ CO O ~ GO O ~
Jl O O W W ~I W co ~ W ~ 3 W W ~v ~o W w h~ W W h:l W ~ D W H
~:1 o O o O o
P~
w (D
~n
u~ tn tl 1-3 tl tn tl W ~ tl U~ tl ~17 tl tn tl ~ t~ tl U~
~ ~d tl W ~ ~ 1- ~ ~z ~a ~n uW~ d W tW~ ]
~~ æ w 5~ W U~ w - H H
1.) w ~3 Z wO ~ ~ ~3 Z O C ~ ~) ~n 1~ 0 Z Z
~d O ~ O D
oU~ ~
~ C, ~ ~
W ~
tl tl ~~ ZO
~i H
H H ~~ H
H H WW U~
Z ~ ~H ~3
U~j H
O
C
26
t~
t w ~
t'i O I n o ~n o ~n
o o o o o o o o o o o o o o oO o oO o o o o o o o C~ O O O O O O
o ~ W ~ W W LT~ ~ W ~ ~ W ~ C~ U a ~ u a ~ ~
O ~0 0 0~ CO O W ~ O ~ ~ ~ ~0 ~ CO ~ t~ OD ~P ~ O ~
W ~ ~ W CO ~ W ~ P o w ~ ~ o C0 ~ 0 ~ ~ 0 0 ~
~d ~ t ~q
1 W W ~ 4 ~ Z ~ t-3 ~ ~ ~ t~d 4 t W t 3 t 3 t~ U~ t W 3 ~
c ~ 3 ~ w ~ w ~ æ ~
~ ` t1 ~ ~ ~
o
t~
Z
~o
~7
IZ
tl W W l~ h~
ti lJl O lll O Ul O Ul
~D
~I OOOOOOOOOOOOOOC:~OOOOOOOOOOOOOOOOOOO
O ~1~ ~'YIJ~--OOOOOO~OOOOOOO
1-- W ~D ~I Ul IP W 1~) 0 h~ t~ W ~ P W ~ 1~ 3 U O W ~ tO ~I a Ul IP 1~) 1-' C~
~P D o ~ n co o ~ o w ~ t~l w D~ o ~ co ~ ul ul ul oo t~) ~l ot~ t1
W ~ ~i ~ ~ `~ tJ ~D ~) ~ W t~J O t~ O ~ P O 1~ ) W a~ O ~ ~ H
) o ~ o ul o
0 ~ ~ ) O O
~a
pJ
t'l t~ t':l t~
l.lJ IV
U~ ~I
t'i
tl W O tl tl~ U~ tl ~ tl U~ tl W t~ 3 t~ 17 tl W W ~ W tl b;~ tl7 t
~d CJ W 1~ d UW~ UW~ tt~ UW ~ t~
U~ W ~ :s! Ul trJ W ~C ~ t'~l _l O
t~
.. ) ~ G~ C~ t
U~
W H ~
cn C
X ~3
~ W p
O r~
~ ~d ~
H ~ n
W z t
1~ tr~ C
0~ 0~
H ,~
7~)~
W W ~ ~v ,-- ~.
t~ Ul O Ul O Ul C~ Ul
`J OoOooOoOooOoOOoooOOOOOOOOOOOOOOOOOO
O Ul Ul Vl ~P ~P ~ .P ~P ~P ~P ~P P IP ~P ~ P ~P W ~ W W W W ~ W W ~) ~ W W ~ ~ ~ ~ ~ ~d
1-- W 1--o h3 t~ W ~' ~ co _l Ul ~P W 1--0 I'i tJ:I U ~ W ~ ~ 00 O~ Ul ~P W t~ hl t~ t
Ul CO Ul CO O W DI O W ~ 1-- W ~,, lV UWl ~ W ~ J W ~ ~V
O trJ t~
t~ 00
d
m ~ 3 ~ ~Y 3 ~ 1~ W~ ~ ~ W~ W ~ 3 C~ 3 ~ ~Y 3 t~
~ ~ ~ O æ w ~ 5 5 w ~ x ~ ~ ~
a ~, ~ ~ 9 L ~
o t ~j H O
w u~ æ
W ~ H
t~ H H t~
U ~ ~n W
W
W
29
7~2
APPENI):[X C
FIRST BYTE SECOND BYTE
INSTRUCTION MNEUMONIC 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1
TEST BIT - JU~ EQUAL TJE 1 1 0 B B B A A A A A A A A A A
TEST BIT -JU~ NOT EQUAL TJN 1 1 1 B B B A A A A A A A A A A
COMPARE -JUMP EQUAL CJE 0 1 0 0 A A A A A A A A A A A A
COMPARE - JUMP LESS CJL O 1 1 0 A A A A A A A A A A A A
BR~YCH BR 0 0 A A A A A A A A A A A A A A
LOAD DIRECT LOW LDL 0 1 1 1 D D D D
LOAD DIRECT HIGH LDH 1 0 1 O 1 0 1 O D D D D D D D D
LOAD REGISTRR LR 1 O 0 R R R R R
LOAD INDIRRCT LN 1 0 1 1 A A A A
LOAD B DIRECT LBD 1 O 1 O 1 0 1 1 D D D D D D D D
STORE REGISTER STR O 0 O R R R R R
STORE INDIRRCT STN 1 0 1 0 1 0 0 0
SET BIT AND STORE SBS 0 1 O 1 1 B B B
RESET EIT AND STORE RBS O 1 0 1 0 B B B
INCREMENT Al 1 0 1 0 1 1 1 0
DECREMENT Sl 1 0 1 0 1 1. 1 1
NO OPERATION NOP 1 O 1 O 1 1 0 1
EMITTER ER 1 O 1 0 1 0 0 1
:
~ .. . . . . . .
__
3~
3'70~
APPr.NDIX D
Ins~ruction Summary
Mnemonic Name Description
TJE B,A Test Bit - Jump Equal Test bit B in the accumulato.
and when on, branch to A.
TJN B,A Test Bit - Jump ~nequa]. Test bit B :Ln the accumulato
~nd when off branch to A.
CJE R,A Compare - Jump Equal Compare byte R in B reglster
with accumulator and when
equal branch to ~.
CJL R,A Compare - Jump Low Compare accumulator to byte
R in B register and when
accumulator is less than R
branch to A.
BR A Branch Branch to A.
J A Jump Jump to A.
LDL D Load Direct Low Load low half of the accumulator
from the instruction. Ze:o
high half.
LDH D Load Direct Load the accumulator from the
instruction.
LR R Load Register Load accumulator from direct
memory. Place direct memorv
address in storage address
Register.
LBR R Load B Register Load the B Register from direct
memory.
LN A Load Ir~direct Loacl the accumulator from
indirect memory. (Addre,s
given by B Register and 4 ti s
of the instruction.)
~ . . . . .
.
7~)Z
~'P~NI)IX D (COllt ~ d)
~Jnemonic Name Description
.
STR R Store Register Store the accumulator in direct
memory. Place direct memory
address .
STN Store Indirect Store the ~ccumulator in indirect
memory (Address in Register.)
SBS B Set Bit and Store Set bit B in direct memory (address
in Storage Address Reglster) to 1.
RBS B Reset Bit and Set blt B in direct memory (address in
Store Storage Address Register) to O.
Al Increment Add one to the accumulator.
Sl Decrement Subtract one ~rom the accumulator
NOP No Operation Go to next instruction.
ER Emitter Reset Reset Emltter latch.
: ~:
~:
: :
.
~ ~ :
~ ~ .
~ . .
.~