WO1990003608A1 - Rom conversion device and method - Google Patents

Rom conversion device and method Download PDF

Info

Publication number
WO1990003608A1
WO1990003608A1 PCT/US1989/004051 US8904051W WO9003608A1 WO 1990003608 A1 WO1990003608 A1 WO 1990003608A1 US 8904051 W US8904051 W US 8904051W WO 9003608 A1 WO9003608 A1 WO 9003608A1
Authority
WO
WIPO (PCT)
Prior art keywords
bit
data
row
column
memory
Prior art date
Application number
PCT/US1989/004051
Other languages
French (fr)
Inventor
Mark Alan Petersen
Original Assignee
Datacard Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Datacard Corporation filed Critical Datacard Corporation
Priority to KR1019900700939A priority Critical patent/KR900702447A/en
Publication of WO1990003608A1 publication Critical patent/WO1990003608A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor

Definitions

  • the present invention pertains generally to a device and method that transforms row-oriented data read from a Read Only Memory (ROM) device into column-oriented data.
  • ROM Read Only Memory
  • thermal printhead to transfer image data stored in a computer memory onto a printing surface.
  • the thermal printhead may provide a single "column” of dots vertically oriented with respect to the printing surface. Thus, image data is printed one or more columns at a time.
  • a thermal printhead is made up of "dots" or resistive elements that heat up a foil and transfer ink from a carrier (ribbon) .
  • the areas to be printed have the dots heated up; the areas left blank have the dots remain cool.
  • Each dot can be represented by a binary digit, wherein a binary "1" means the corresponding dot is turned on and a binary "0” means the corresponding dot is turned off. This binary data is easily stored in a computer memory, but the image data must be column- oriented for it to print correctly on the vertically oriented printhead described above.
  • Kanji character sets stored in ROM are accessed by rows.
  • Such a ROM device is the Hitachi 4 megabit HN62404, wherein a bit mapped Kanji character set resides in 2 ROM chips.
  • One character set is made up of 24 bit x 24 bit characters and the other set is made up of 32 bit x 32 bit characters. In both cases, each character is located in a 32 bit x 32 bit memory space divided between the two ROM chips.
  • Each character row in the device is accessed using an 18 bit address. The most significant 13 bits of the address identify the Kanji character; the least significant 5 bits of the address identify the rows making up the Kanji character.
  • Each Kanji character resides in this device in a manner described by Fig. 2.
  • Half of each Kanji character is located in each of two ROMs: the "left" half in ROM 18 and the “right” half in ROM 19. Both 18 and 19 are divided into two halves, 20/21 and 22/23 respectively. Although each row of 18 and 19 is comprised of 16 bits, data is read from the device one byte at a time.
  • a software program could be used to read directly the row-oriented Kanji character data in the ROMs, but for printing the image data must be column-oriented. Therein lies the problem. If the software simply reads directly the row-oriented data in the ROM, then to create one byte of column-oriented data the ROM must be read eight times and consecutively mask off seven bits. The problem, then, is speed of conversion. It has been estimated that it may take software from 2 to 5 milliseconds to convert a 32 bit x 32 bit Kanji character. If the image has 200 characters in it, then:
  • the present invention provides an apparatus and method for converting row-oriented ROM data into column- oriented data. Brief Description of the Drawings In the drawings, where like numerals refer to like elements throughout the several views.
  • Fig. 1 is a flow diagram describing the method of the present invention
  • Fig. 2 is a detailed drawing of the physical implementation of a row-oriented Kanji character stored in ROM;
  • Fig. 3 is an illustration of how a 32 bit x 32 bit Kanji character is viewed as 16 separate 8 bit x 8 bit matrices;
  • Fig. 4 is a block diagram of the hardware used to convert row-oriented data into column-oriented data
  • Fig. 5 is an illustration of the row-orientation of an 8 bit x 8 bit matrix prior to conversion
  • Fig. 6 is an illustration of the column-orientation of an 8 bit x 8 bit matrix after conversion.
  • the preferred embodiment converts, in hardware, a 32 bit x 32 bit row-oriented Kanji character into a column- oriented Kanji character.
  • the Kanji character is treated as 16 separate 8 bit x 8 bit matrices as shown in Fig. 3.
  • the row orientation of the data in the 8 bit x 8 bit matrix is shown in Fig. 5, wherein each bit is labeled as 67 through 74.
  • Each data bit D7 is on the "left" side of the matrix and each data bit DO is on the "right” side of the matrix.
  • Conversion of an 8 bit x 8 bit matrix is performed by reading all 8 rows of data in a particular matrix from the ROM and writing the data into 8 separate 8 bit latches.
  • the LS273 latches are shown in Fig.
  • Fig. 1 is a flow chart describing the operation of a peripheral device built to perform this conversion.
  • software running on a host computer makes a request to access the peripheral.
  • the host computer passes the 18 bit Kanji character address to the peripheral.
  • the peripheral receives the requires (10) and uses the most significant 13 bits of the address to identify the character location (11).
  • the peripheral executes a loop to access the 16 separate 8 bit x 8 bit matrices in order (12) .
  • the peripheral executes a loop to access the 8 separate 8 bit rows in order (13) .
  • Each row is read from the ROM (14) and stored in an 8 bit latch (15) .
  • the matrix is converted into column-oriented data (16).
  • 128 bytes reside in the FIFO register.
  • the peripheral indicates the completion of the operation by storing a specific value in a status byte register.
  • the host computer which monitors the status byte register, recognizes the completion and issues a read request to the peripheral for each of the 128 bytes (9).
  • the peripheral signals, via the status byte register, that it is available for another conversion operation.
  • the preferred embodiment can convert a Kanji character in 128 microseconds. The speed is limited by the access time of the ROM (i.e., 200 nanoseconds). Thus, in the preferred embodiment hardware conversion provides a performance multiple of 15.63 over software conversion.

Abstract

An apparatus and method is disclosed for converting row-oriented data into column-oriented data. A matrix of row-oriented data is read from a ROM device (14) and stored in a plurality of latches (15). All the bits from one column of said data are selected from the latches (16) and stored in a register (17).

Description

ROM CONVERSION DEVICE AND METHOD
Technical Field of the Invention The present invention pertains generally to a device and method that transforms row-oriented data read from a Read Only Memory (ROM) device into column-oriented data.
Background of the Invention Some types of graphics printers use a thermal printhead to transfer image data stored in a computer memory onto a printing surface. The thermal printhead may provide a single "column" of dots vertically oriented with respect to the printing surface. Thus, image data is printed one or more columns at a time. A thermal printhead is made up of "dots" or resistive elements that heat up a foil and transfer ink from a carrier (ribbon) . The areas to be printed have the dots heated up; the areas left blank have the dots remain cool. Each dot can be represented by a binary digit, wherein a binary "1" means the corresponding dot is turned on and a binary "0" means the corresponding dot is turned off. This binary data is easily stored in a computer memory, but the image data must be column- oriented for it to print correctly on the vertically oriented printhead described above.
Performance problems arise when printing Japanese anji characters. Kanji character sets stored in ROM are accessed by rows. Such a ROM device is the Hitachi 4 megabit HN62404, wherein a bit mapped Kanji character set resides in 2 ROM chips. There are two different character sets available from Hitachi, comprised of two different font sizes. One character set is made up of 24 bit x 24 bit characters and the other set is made up of 32 bit x 32 bit characters. In both cases, each character is located in a 32 bit x 32 bit memory space divided between the two ROM chips. Each character row in the device is accessed using an 18 bit address. The most significant 13 bits of the address identify the Kanji character; the least significant 5 bits of the address identify the rows making up the Kanji character. Each Kanji character resides in this device in a manner described by Fig. 2. Half of each Kanji character is located in each of two ROMs: the "left" half in ROM 18 and the "right" half in ROM 19. Both 18 and 19 are divided into two halves, 20/21 and 22/23 respectively. Although each row of 18 and 19 is comprised of 16 bits, data is read from the device one byte at a time.
A software program could be used to read directly the row-oriented Kanji character data in the ROMs, but for printing the image data must be column-oriented. Therein lies the problem. If the software simply reads directly the row-oriented data in the ROM, then to create one byte of column-oriented data the ROM must be read eight times and consecutively mask off seven bits. The problem, then, is speed of conversion. It has been estimated that it may take software from 2 to 5 milliseconds to convert a 32 bit x 32 bit Kanji character. If the image has 200 characters in it, then:
200 Characters x 0.002 Seconds = 0.4 Seconds Image Character Image
If it takes 0.4 seconds per image to convert 200 Kanji characters from row orientation to column orientation, then the printer is drastically slowed down. What is needed is a fast method of converting the row-oriented Kanji character into a column-oriented image.
Summary of the Invention The present invention provides an apparatus and method for converting row-oriented ROM data into column- oriented data. Brief Description of the Drawings In the drawings, where like numerals refer to like elements throughout the several views.
Fig. 1 is a flow diagram describing the method of the present invention;
Fig. 2 is a detailed drawing of the physical implementation of a row-oriented Kanji character stored in ROM;
Fig. 3 is an illustration of how a 32 bit x 32 bit Kanji character is viewed as 16 separate 8 bit x 8 bit matrices;
Fig. 4 is a block diagram of the hardware used to convert row-oriented data into column-oriented data;
Fig. 5 is an illustration of the row-orientation of an 8 bit x 8 bit matrix prior to conversion;
Fig. 6 is an illustration of the column-orientation of an 8 bit x 8 bit matrix after conversion.
Detailed Description of the Preferred Embodiment In the following detailed description of the preferred embodiment, reference is made to the accompanying drawings which form a part hereof, and which is shown by way of illustration a specific embodiment in which the invention may be practiced. It is to be understood that other embodiments may be utilized without departing from the scope of the present invention.
The preferred embodiment converts, in hardware, a 32 bit x 32 bit row-oriented Kanji character into a column- oriented Kanji character. The Kanji character is treated as 16 separate 8 bit x 8 bit matrices as shown in Fig. 3. The row orientation of the data in the 8 bit x 8 bit matrix is shown in Fig. 5, wherein each bit is labeled as 67 through 74. Each data bit D7 is on the "left" side of the matrix and each data bit DO is on the "right" side of the matrix. Conversion of an 8 bit x 8 bit matrix is performed by reading all 8 rows of data in a particular matrix from the ROM and writing the data into 8 separate 8 bit latches. The LS273 latches are shown in Fig. 4, labeled as 41 through 48. Once the data for the 8 bit x 8 bit matrix is held outside the ROM, it can be manipulated as required without reading of the ROM again. As shown in Fig. 4, conversion from row orientation to column orientation is done by selecting each LS244 line driver, labeled in Fig. 4 as 57 through 64, in turn, and writing the selected data into a First-In-First-Out (FIFO) register 66 that is deep enough to hold the entire 32 bit x 32 bit Kanji character (i.e., 128 separate 8 bit registers). The column orientation of the data in the 8 bit x 8 bit matrix after conversion is shown in Fig. 6, wherein each byte is labeled as 75 through 82. Thus, the row- oriented data is converted into column-oriented data.
Note that all of the lines or interconnects between the LS273 latches, 41 through 48, and the LS244 ports, 57 through 64, are not shown in Fig. 4. Only 8 interconnects are shown, labeled as 49 through 56 in Fig. 4, to maintain clarity in the drawing, because 64 interconnects exist between the latches and ports. The interconnects required for converting bits in column 75 are fully shown. Fig. 1 is a flow chart describing the operation of a peripheral device built to perform this conversion. In the preferred embodiment, software running on a host computer makes a request to access the peripheral. The host computer passes the 18 bit Kanji character address to the peripheral. The peripheral receives the requires (10) and uses the most significant 13 bits of the address to identify the character location (11). The peripheral executes a loop to access the 16 separate 8 bit x 8 bit matrices in order (12) . The peripheral executes a loop to access the 8 separate 8 bit rows in order (13) . Each row is read from the ROM (14) and stored in an 8 bit latch (15) . Once the entire 8 bit x 8 bit matrix has been read, the matrix is converted into column-oriented data (16). As each column of the matrix is converted, it is stored in the FIFO register (17). When the conversion of the entire Kanji character is completed, 128 bytes reside in the FIFO register. The peripheral indicates the completion of the operation by storing a specific value in a status byte register. The host computer, which monitors the status byte register, recognizes the completion and issues a read request to the peripheral for each of the 128 bytes (9). When all of the data is transferred to the host computer, the peripheral signals, via the status byte register, that it is available for another conversion operation. The preferred embodiment can convert a Kanji character in 128 microseconds. The speed is limited by the access time of the ROM (i.e., 200 nanoseconds). Thus, in the preferred embodiment hardware conversion provides a performance multiple of 15.63 over software conversion.
(Software) 0.002 seconds = 15.63 (Hardware) 0.000128 seconds
Although a specific configuration has been illustrated and described for the preferred embodiment of the present invention set forth herein, it will be appreciated by those of ordinary skill in the art that any arrangement which is calculated to achieve the same purpose may be substituted for the preferred embodiment shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is manifestly intended that this invention be limited only by the claims and the equivalents thereof.

Claims

WHAT IS CLAIMED IS:
1. Apparatus for converting row-oriented data into column-oriented data, comprising: a memory device containing data stored in a row- oriented manner; a plurality of latches for storing data read from said memory; means for reading all of the bits in one column from said latches; and means for writing said bits into a register.
2. A method for converting row-oriented data into column-oriented data, comprising: reading row-oriented data from a first memory; storing said row-oriented data in a plurality of latches; selecting a bit from each of said latches according to the column position of said bit in said first memory; and storing said bits in a second memory.
3. A computer peripheral device for converting row- oriented data into column-oriented data, comprising: means for reading a request from a computer; means for identifying a location in a first memory from said request; means for accessing said location in said first memory as a plurality of matrices; means for storing each of said matrices in a plurality of latches; means for selecting a bit from each of said latches according to said bit's position in said first memory; means for storing said selected bits in a second memory; and means for transferring the contents of said second memory to said computer.
PCT/US1989/004051 1988-09-23 1989-09-18 Rom conversion device and method WO1990003608A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019900700939A KR900702447A (en) 1988-09-23 1989-09-18 ROM conversion device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US24889988A 1988-09-23 1988-09-23
US248,899 1988-09-23

Publications (1)

Publication Number Publication Date
WO1990003608A1 true WO1990003608A1 (en) 1990-04-05

Family

ID=22941166

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1989/004051 WO1990003608A1 (en) 1988-09-23 1989-09-18 Rom conversion device and method

Country Status (3)

Country Link
JP (1) JPH04500784A (en)
KR (1) KR900702447A (en)
WO (1) WO1990003608A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5862776A (en) * 1981-10-09 1983-04-14 Hitachi Ltd Longitudinal and lateral converting system for kanji font
US4740784A (en) * 1981-03-31 1988-04-26 Nixdorf Computer Ag Character generator with address memory and data storage unit for controlling dot matrix output unit
US4776026A (en) * 1986-11-17 1988-10-04 Nec Corporation Apparatus for rotating a dot matrix pattern by 90 degrees
US4806920A (en) * 1986-03-28 1989-02-21 Nec Corporation Device for producing an output image while giving an original image a rotation of 90, 180, or 270
US4808985A (en) * 1986-05-30 1989-02-28 Oki Electric Industry Co., Ltd. Character pattern converting circuit
US4837845A (en) * 1985-10-31 1989-06-06 International Business Machines Corporation Method for rotating a binary image

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4740784A (en) * 1981-03-31 1988-04-26 Nixdorf Computer Ag Character generator with address memory and data storage unit for controlling dot matrix output unit
JPS5862776A (en) * 1981-10-09 1983-04-14 Hitachi Ltd Longitudinal and lateral converting system for kanji font
US4837845A (en) * 1985-10-31 1989-06-06 International Business Machines Corporation Method for rotating a binary image
US4806920A (en) * 1986-03-28 1989-02-21 Nec Corporation Device for producing an output image while giving an original image a rotation of 90, 180, or 270
US4808985A (en) * 1986-05-30 1989-02-28 Oki Electric Industry Co., Ltd. Character pattern converting circuit
US4776026A (en) * 1986-11-17 1988-10-04 Nec Corporation Apparatus for rotating a dot matrix pattern by 90 degrees

Also Published As

Publication number Publication date
JPH04500784A (en) 1992-02-13
KR900702447A (en) 1990-12-07

Similar Documents

Publication Publication Date Title
US4593407A (en) Pattern processing system
US4122520A (en) Microcomputer controller and direct memory access apparatus therefor
GB1586589A (en) Printing systems
US5079739A (en) Apparatus and method for converting bit-mapped data from row orientation to column or orientation
JPS6158750A (en) Memory apparatus
US4737779A (en) Data processing apparatus with dot character generator
JP2570684B2 (en) Character pattern generator for Dot Tomato Rix serial printer
WO1990003608A1 (en) Rom conversion device and method
EP0714074A2 (en) Printer
JPH01136770A (en) Printer
JPH1120209A (en) Liquid ink printing system having plural processors for high speed color image forming and method for forming color image
US4635081A (en) Apparatus and method for generating dot-matrix characters in graphic patterns
JPS6016676B2 (en) Character pattern information storage method in dot printer
JP2834738B2 (en) Printing equipment
JPH1128843A (en) Data conversion memory system
KR910009064B1 (en) Method for compensating character size of printer
JPH0439434B2 (en)
WO2000023940A1 (en) Electronic circuit for the processing of bit strings
JP2757986B2 (en) Print control device for serial dot printer
JP2918552B2 (en) Printing control device
JPS61241159A (en) Character pattern data generator for high quality printing
JPS61106264A (en) Figure output controller
JPS61202854A (en) Printer controller
JPH10151786A (en) Control system for a plurality of thermal heads
JPS58166057A (en) Line printer

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP KR

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE FR GB IT LU NL SE