Store and forward type of text processing unit4330847Abstract A store and forward unit having an output print station with convenience copying capabilities has connections to diverse text signal sources and destinations. Such diverse sources and destinations may have established textual format and control characters not necessarily shared with other sources and destinations. The store and forward unit, upon receiving a set of text signals, examines the text control characters. Based upon such examination, the store and forward unit processes such text without changing the control characters provided that all destinations connected to such unit can use such control characters. If, on the other hand, the destinations cannot use such control character, the unit adds sufficient control characters for allowing the received text as modified by the additional characters to be transmitted without text processing analysis to any of the connected destinations. If desired, the control characters not usable or not recognized by a receiving destination can be deleted prior to transmission to such destination. Accordingly, when received text is to be retransmitted to a plurality of diverse destinations, the store and forward unit text processes the received text signals but once and supplies the text processed signals to the diverse destinations with only deletions of control characters. Claims What is claimed is: Description BACKGROUND OF THE INVENTION
______________________________________
Legend for Table I
______________________________________
FHI Forward Half Index
RHI Reverse Half Index
CHI Change Half Index
RHT Required Horizontal Tab
NL New Line
PDLM Print Delimiter
SP Space
VT Vertical Tab
EMF End Margin Fill
EOR End of Row
RFF Required Forms Feed
EOP End of Page
HT Horizontal Tab
SOF Start of Format
D.sub.n Data or Control Information
LF Line Feed
SCT Special Control Text
?.sub.n Unknown (Random) Memory
______________________________________
In the above Table I, the left hand column indicates input text as received via input RTC 17. The alphabetic characters represent control characters usable with Bysync communications. The Greek alpha character represents interleaved text characters, the coding of which is not pertinent to the practice of the present invention. As a practical matter, the universal text represented in the second column is a conversion from the input text insofar as text characters are concerned to an internal code. If, for example, the universal text was then returned to the RTC 17 for retransmission to a remote unit the text coding would be changed. This action is a direct substitution, well known in text processing. For using RTC 17 as a destination, the control characters of the universal text, FHI CHI, comparing with FHI would result in deletion of CHI while the second control character RHI CHI would result in transmission of only RHI. If the text corresponding with those control characters were transmitted to diverse destination 12B, the control characters would be CHI in both instances. If the text would be sent to LT 16 the control characters would be converted to FHI and PHI, also again by deletion. The other control characters using known input text formats are converted as shown to the various adapted text. From the text analysis the universal formatted text signals are stored in page memory 64 which serves as a buffer for the universal text. From buffer or page memory 64 the universal text is transmitted via system text processor 60A with the unwanted control codes being deleted at step 56. The deletion of the unwanted control codes results in the adapted text being sent to utilization means which includes, of course, the three connections 12B, 16 and 17. Further, if the universal text is to be transmitted to additional destinations, the universal text is stored in nonvolatile store NVS 19 for later retrieval. Before describing the computer programming for effecting such efficient text processing, the system hardware in which the programming resides is first described for a better understanding of programmed function and operations. A description of the MPMC 15 and a microprocessor suitable for executing the program according to the present invention is included in U.S. Pat. No. 4,086,658, supra, from column 6, line 21 to column 25, line 11, incorporated herein by reference. A MICROCODE IMPLEMENTATION OF THE INVENTION It is preferred that the above-described computer be microprogrammed to implement the present invention. The source code instructions related to the above-described computer are set forth below for implementing major portions of the Table I examples. Of course, in a practical machine, code would be included for a greater number of control characters which follow the teachings set forth below. The code is arranged based on the universal text column. The computer microcode is not organized such that each example is contained in but a single microcode subroutine. Decoding the control character in the input text column results in calling microcode routines having embedded universal text control characters or symbols, i.e., such universal characters are embedded as constants within the called microcode microcode routine. The "HT" or "RHT" control characters of Universal Text are handled by the microcode set forth in Table II and called by input text character decoding RHT or HT. In all the tables LOC means memory location, OBJ means instruction operation definition, OP1 and OP2 are operands and SOURCE STATEMENT is comment on the coding.
TABLE II
__________________________________________________________________________
HT OR RHT MICROCODE SOURCE CODE
LOC
OBJ OP1 OP2 SOURCE STATEMENT
__________________________________________________________________________
. . . . . PROCESS PUTST BUMPS ACTIVE
C OUTPUT BFR PTR
PUTST
ACOUTBFR
. . . . . IF LINE NUMBERING SET
633E
A677
0277 LBL ERR2B
6340
95 0005 TP NUMLNRF
6341
45 6345 JE STRRORQ
. . . . . THEN
. . . . . . LOAD A TAB CODE IN OUTPUT
BFR
C (IF RECORDED & REQ'D TAB
C RECORDED, THEN LNE # ON
C NXT LNE WOULD BE
C INDENTED)
6342
AEEC
00EC LI #HT
6344
06 6346 J *+2
. . . . . ELSE
. . . . . . LOAD CHAR(HT OR RHT) IN
OUTPUT
C BFR
6345
9C 000C STRRORQ
LN ACINBFR
6346
BD 000D STN ACOUTBFR
. . . . . ENDIF
. . . . . BUMP ACTIVE OUTPUT BFR PTR
6347
FD 000D LRB ACOUTBFR
. . . . . IF ACTIVE OUTPUT BFR PTR > OR
=
C END ADDR +1 OF OUTPUT BFR
C (> CHECK MADE IN CASE OF
C OVERRUN OF MARGIN TEXT BFR)
6348
E4 0004 LR OTENDBFR
6349
CD 000D SR ACOUTBFR
634A
3F4F
634F BH *+5
. . . . . THEN
. . . . . . CALL OVERRUN TAKES CARE OF
C ANY BFR OVERRUN CONDITIONS
634C
30685E
0000
5E68 BAL TEMPSVCR,OVERRUN
. . . . . ENDIF
. . . . . LOAD PRINT ONLY DELIMITER
634F
AEE4
00E4 LI #PDLM
6351
BD 000D STN ACOUTBFR
SRG GROUPTL
6352
A9D6
00D6
. . . . . CALL SPINS INSERTS SPACES UP
TO
C TAB STOP
6354
33E547
0003
47E5 BAL TEMPSCAR, SPINS
. . . . . BUMP ACTIVE OUTPUT BFR PTR
SRG GROUPTV
6357
A9D7
00D7
6359
FD 000D LRB ACOUTBFR
. . . . . IF ACTIVE OUTPUT BFR PTR > OR
=
C END ADDR +1 OF OUTPUT BFR
635A
E4 0004 LR OTENDBFR
635B
CD 000D SR ACOUTBFR
635C
3E61
6361 BH *+5
. . . . . THEN
. . . . . . CALL OVERRUN TAKES CARE OF
ANY
C BFR OVERRUN CONDITIONS
635E
30685E
0000
5E68 BAL TEMPSVCR, OVERRUN
. . . . . ENDIF
. . . . . LOAD PRINT ONLY DELIMITER IN
C OUTPUT BFR
6361
AEE4
00E4 LI #PDLM
6363
BD 000D STN ACOUTBFR
__________________________________________________________________________
In Table II above, the Branch and Link instruction, BAL, at 6354 and object coded 33E547 calls a microcode subroutine not detailed herein by source code. The Table II source code for a tabulate function puts the first and last space in the tabulate movement. The called microcode subroutine "SPINS" is an interactive loop which adds the intermediate space symbols. For example, if a tabulate is for eight spaces, then the SPIN subroutine has six iterations to add six space symbols to the first and last space symbol added by the Table II illustrated source code. Since interactive loops are well known, that code listing is dispensed with. LI 12B, as constructed, has no tabulate function. Accordingly, to achieve a tabulate function, space symbols equalling the tabulate distance are added to the text. In supplying such text to LT 16, the space symbols are deleted. The Universal Symbol PDLM has a similar symbol RDLM. PDLM pertains to LI 12B while RDLM pertains to LT 16. Both actuate the respective units to effect similar results. In Table III below, the RDLM source code is shown, it being understood the complementary source code is used for PDLM. Table III also includes the SOF microcode.
TABLE III
__________________________________________________________________________
SOF, RPDM SOURCE CODE
LOC OBJ OP1 OP2 SOURCE STATEMENT
__________________________________________________________________________
. THEN
. . PROCESS
PUTST BUMPS ACTIVE OUTPUT BFR
C PTR
PUTST ACOUTBFR
. . STORE RECORD DELIMITER IN OUTPUT
BFR
4A0A
AEE5
00E5 LI #RDLM
4A0C
BD 000D STN ACOUTBFR
. ENDIF
. PROCESS
PUTST BUMPS ACTIVE OUTPUT BFR
C BFR PTR
NOPUT PUTST ACOUTBFR
. LOAD SOF CODE IN OUTPUT BFR
4A13
AEE7
00E7 LI #SOF
4A15
BD 000D STN ACOUTBFR
. PROCESS
PUTST BUMPS ACTIVE OUTPUT BFR
C PTR
PUTST ACOUTBFR
. LOAD SOF # INTO OUTPUT BFR
4A1C
9C 000C LN ACINBFR
4A1D
BD 000D STN ACOUTBFR
. PROCESS
FETCHST BUMPS ACTIVE INPUT BFR
C PTR
FETCHST
ACINBFR
. PROCESS
PUTST BUMPS ACTIVE OUTPUT BFR
C PTR
PUTST ACOUTBFR
. LOAD # OF BYTES IN SOF SEQ INTO
OUTPUT
C BFR & INTO TEMP CNTR (TPTEMP1B) &
C INTO TEMP LENGTH BYTE (OTMPB)
4A2A
9C 000C LN ACINBFR
4A2B
A182
0282 STBL TPTEMP1B
4A2D
A1C1
02C1 STBL OTMPB
4A2F
BD 000D STN ACOUTBFR
. WHILE TEMP COUNT BYTE NOT 0
. DO
4A30
A800
0000 LOADSOF
CI ZERO
4A32
3D49
4A49 BE THRU
. . PROCESS
FETCHST BUMPS ACTIVE INPUT
C BFR PTR
FETCHST
ACINBFR
. . PROCESS
PUTST BUMPS ACTIVE OUTPUT BFR
C PTR
PUTST ACOUTBFR
. . STORE CHAR INTO OUTPUT BUFR
4A40
9C 000C LN ACINBFR
4A41
BD 000D STN ACOUTBFR
. . DECREMENT TEMP COUNT BYTE
4A42
A682
0282 LBL TPTEMP1B
4A44
2A S1
4A45
A182
0282 STBL TPTEMP1B
4A47
2C30
4A30 B LOADSOF
. ENDWHILE
. IF ACTIVE INPUT BFR NOT PAGE BFR
4A49
A6BB
02BB THRU LBL IOPORTB
4A4B
96 0006 TP BIT6
4A4C
66 4A56 JNE ENDSKIPI
. THEN
. . PROCESS
PUTST BUMPS ACTIVE OUTPUT
C BFR PTR
PUTST ACOUTBFR
. . STORE RECORD DELIMITER IN OUTPUT
BFR
4A53
AEE5
00E5 LI #RDLM
4A55
BD 000D STN ACOUTBFR
__________________________________________________________________________
Table IV above shows LF code, Table V shows the EMF code, Table VI, the VT code, and Table VII, the RFF source code. The code for deleting universal text is omitted as being straight forward. ROM TYPE TEXT PROCESSING In FIG. 9, a ROM type of encode-decode usable with the FIG. 1B illustrated store and forward unit in the form of a copy production machine is shown. The input text is received from either LT 16 or RTC 17 via a buffer (not shown). A control 60D, which may be a computer program in SMP 62, selects a set of AND gates to receive text signals from either LT 16 or RTC 17 (FIG. 1), respectively, via AND circuits 300, 302. The received text signals are transmitted a character at a time to a pair of ROMs 303 and 304. ROM 304 takes the text signals and supplies adjusted encoded text or data signals to universal text or page memory 64. The control characters from RTC 17 are decoded in ROM 303. ROM decode 303 may contain one or more characters corresponding to each received RTC 17 control character. In the event additional control characters are to be added for the universal text, ROM decode 303 has a "hold-text" line 305 which supplies signals through OR circuit 306 to a buffer (not shown) for delaying text until the additional control characters can be suitably inserted in universal text memory 64. The line 305 signal also actuates cycler 307 for providing additional ROM cycles for reading out the additional control characters. ROM decode 303 also has a memory field supplying signals over cable 308 to cycler 307 indicating the number of additional characters to be cycled from ROM 303 to universal text memory 64. Cycler 307 supplies timed readout signal pulses over line 309 along with address information over cable 310 for reading out such additional character signals. That is, the field supplied over cable 308 not only includes the number of characters to be read out but also includes the beginning memory address of the first additional control character to be read out. Additionally, cycler 307 supplies a hold signal over line 311 until all additional characters had been read out of ROM 303. Upon removal of the hold signal from line 311, the buffer (not shown) continues to supply input text as aforedescribed. In this regard, it should be noted that universal text memory 64 also includes addressing circuitry which includes an addressing incrementer (not shown) so that the received text as modified by ROMs 303, 304 is in a contiguous portion of universal text memory 64. The transfer of the universal text process signals to NVS 19 is omitted for the purpose of brevity. Text analyzer-modifier 60 CA for LT 16 operates identically to that just described for 60CB. The construction of ROMs 303, 304 are in accordance with normal and known ROM construction techniques wherein the signal contents of the ROMs are made in accordance with that indicated for Table I, supra. From the above, it is seen that the text processing for the control character control requires an additional number of cycles than those required for pure transmission. In this regard, all text processing requires such additional cycles, thereby reducing throughput of a store and forward unit or a copy production machine. The output portion of the ROM version of the invention for supplying adapted text is shown as unit 56A which includes a single ROM 315. The universal text memory 64 under control of SMP 62 supplies the universal text to ROM decode 315 one character at a time. ROM decode 315 is adapted for transmitting adapted text to one of the plurality of destinations, it being understood an additional ROM is provided for each destination. Each time a control character from the universal text is to be deleted, ROM decode 315 supplies a field of signals indicating the number of control characters to be deleted. For example, if one control character is to be deleted, ROM decode 315 supplies a jump next signal to universal text memory for eliminating the readout of the next control character. If five characters are to be deleted, the next five characters are not transmitted from memory 64, and so forth. Accordingly, the transmission of text from universal text memory 64 to the destination device will include a minimum number of cycles thereby maximizing throughput of the store and forward unit in the transmission mode. This elimination of text processing cycles is an important factor in providing maximum performance at minimum cost. Examination of Table I will show that in some instances the first received control character from the universal text is to be deleted. In such an instance, ROM decode 315 is programmed to substitute the second character for the first control character and jump the second character even though that character is acceptable for the adapted text. For example, in the first line of Table I in going from the universal text control characters FHI CHI to printer text, the control character CHI is to be used. However, only one transmission character cycle is desired. Therefore, when ROM decode 315 is adapted for printer text transmission, the decode of FHI in ROM decode 315 causes output of CHI during that first cycle, plus jumping one character position for deleting the transmission of the CHI character from the universal text. The same procedure is used in connection with deletions of other control characters. In some instances the universal text may have a variable number of control characters for a given input character. In such a situation, the universal text includes a length field indicating the number of control characters. This length field is decoded by ROM decode 315 for determining the actual number of characters to be jumped in the universal text memory 64 output or transmitting mode. While the invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention.
|
Same subclass Same class Consider this |
||||||||||
