Claims
- 1. A method of achieving high-speed data transfer using a standard parallel interface between a host computer system and a peripheral device comprising the steps of:
- examining a plurality of data bytes;
- generating a literal run when a sequence of said plurality of data bytes are not the same;
- generating a repeated run when a sequence of said plurality of data bytes are the same;
- comparing a last byte of a preceding run and a first byte of a current run; and
- inserting a unique data byte between said last byte and said first byte when said last byte and said first byte are equal.
- 2. The method of claim 1 wherein said unique data byte is a hexadecimal `80`.
- 3. The method of claim 1 wherein said literal run consists of a length byte that indicates the number of data bytes in said literal run followed by said number of data bytes.
- 4. The method of claim 3 wherein a high order bit of said length byte is set to a binary zero.
- 5. The method of claim 1 wherein said repeated run consists of a length byte that indicates the number of times the following data byte is repeated.
- 6. The method of claim 5 wherein a high order bit of said length byte is set to a binary one.
- 7. A method of achieving high-speed data transfer using a standard parallel interface between a host computer system and a peripheral device comprising the steps of:
- examining a plurality of data bytes;
- generating a literal run when a sequence of said plurality of data bytes are not the same, said literal run consisting of a length byte that indicates the number of data bytes in said literal run followed by said number of data bytes;
- generating a repeated run when a sequence of said plurality of data bytes are the same;
- comparing said length byte and said first data byte in said literal run; and
- decrementing the value of said length byte by one and moving a last data byte in said literal run to a following run when said length byte and said first data byte are equal.
- 8. The method of claim 7 wherein said step of decrementing said value of said length byte further includes the following steps:
- examining said length byte; and
- transforming said literal run into a repeated run of length one when said literal run consists of one data byte.
- 9. A method of achieving high-speed data transfer using a standard parallel interface between a host computer system and a peripheral device comprising the steps of:
- examining a plurality of data bytes;
- generating a literal run when a sequence of said plurality of data bytes are not the same;
- generating a repeated run when a sequence of said plurality of data bytes are the same, said repeated run consisting of a length byte that indicates the number of data bytes in said repeated run followed by said number of data bytes;
- comparing said length byte and said repeated data byte; and
- decrementing the value of said length byte by one and moving a last data byte in said repeated run to a following run when said length byte and said first data byte are equal.
- 10. The method of claim 9 wherein said step of decrementing said value of said length byte further includes the following steps:
- comparing said length byte and said repeated data byte; and
- transforming said repeated run into a literal run of length one when said length byte and said data byte are equal.
- 11. A method of achieving high-speed data transfer using a standard parallel interface between a host computer system and a peripheral device comprising the steps of:
- examining a plurality of data bytes;
- generating a literal run when a sequence of said plurality of data bytes are not the same;
- generating a repeated run when a sequence of said plurality of data bytes are the same;
- comparing a last byte of a preceding run and a first byte of a current run; and
- inserting a unique data byte between said last byte and said first byte when said last byte and said first byte are equal.
- 12. The method of claim 11 wherein said unique data byte is a hexadecimal `80`.
- 13. A method of achieving high-speed data transfer using a standard parallel interface between a host computer system and a peripheral device comprising the steps of:
- examining a plurality of data bytes;
- generating a literal run consisting of a length byte that indicates the number of data bytes in a literal run followed by said number of data bytes when a sequence of said plurality of data bytes are not the same;
- generating a repeated run when a sequence of said plurality of data bytes are the same;
- comparing said length byte and said first data byte in said literal run; and
- decrementing the value of said length byte by one and moving a last data byte in said literal run to a following run when said length byte and said first data byte are equal.
- 14. The method of claim 13 wherein said step of decrementing said value of said length byte further includes the following steps:
- examining said length byte; and
- transforming said literal run into a repeated run of length one when said literal run consists of one data byte.
- 15. A method of achieving high-speed data transfer using a standard parallel interface between a host computer system and a peripheral device comprising the steps of:
- examining a plurality of data bytes;
- generating a literal run when a sequence of said plurality of data bytes are not the same;
- generating a repeated run consisting of a length byte that indicates the number of times the following data byte is repeated when a sequence of said plurality of data bytes are the same;
- comparing said length byte and said repeated data byte; and
- decrementing the value of said length byte by one and moving a last data byte in said repeated run to a following run when said length byte and said first data byte are equal.
- 16. The method of claim 15 wherein said step of decrementing said value of said length byte further includes the following steps:
- comparing said length byte and said repeated data byte; and
- transforming said repeated run into a literal run of length one when said length byte and said data byte are equal.
Parent Case Info
This is a divisional of application Ser. No. 08/154,489, filed Nov. 17, 1993, now U.S. Pat. No. 5,504,929.
US Referenced Citations (10)
Non-Patent Literature Citations (5)
Entry |
Saunders College Publishing "Microcomputer Structures", 1989, Vranesic et al., pp. 376-379 and 620-623. |
IEEE std. 1284-1994 "EPC Mode", http:/www.fapo.com/ecpmode.htm, Apr. 9, 1997. |
Vranesic et al. "Microcomputer Structures", Sanders College Publishing, 1989 pp. 150-152. |
Stephen Diamond "A new PC parallel interface standard", IEEE Micro, Aug. 1994. |
Phil Daley, "RUN Length Encoding Revisited", Dr. Dobb's Journal, May 1989. (fulltext copy). |
Divisions (1)
|
Number |
Date |
Country |
Parent |
154489 |
Nov 1993 |
|