You can also
view questions and answers on our discussion
Will this EPP/ECP port help speed up my printer and printing?
Many people believe that if they get a 1284 port with EPP or ECP that they will automatically get the benefit of faster printing. Unfortunately, this is not true. In order to get faster printing three things must be present: 1- the parallel port must be capable of operating in the ECP mode, 2- there must be a port driver present that knows HOW to operate in the mode, and most important, 3- the printer (or peripheral) must be designed to operate in this mode. Not all printers, and actually only a few of the newer ones, can operate in one of these advanced modes. See the Compatible Products page for a listing of some of these printers and peripherals.
One benefit you can get with many of these boards, and all Warp Nine boards, is the fast Centronics mode. This is the capability of the parallel port board to operate in a "standard" printer mode, but with built-in hardware that helps speed up the delays that normally cause printing to operate at speeds of 10,000 to 125,000 characters per second. With this hardware the port is capable of printing at rates from 500,000 to 1,000,000 characters per second. Of course, most printers cannot operate this fast, but the port can drive the printer as fast as the printer can take data. This can be a 1.5X to 10X performance in printer throughput. In order to operate in this mode a new port or LPT driver must be provided.
Can peripherals other than printers take advantage of this standard?
Yes. Many of the newer parallel port peripherals can operate in the EPP mode, or at a minimum the PS/2 bi-directional mode. This can provide anywhere from a 2X to 15X boost in performance over the unidirectional port. See the Compatible Products page for a listing of some of these peripherals.
What operating systems have drivers or support for IEEE 1284?
Operating systems that have built-in support for IEEE 1284 are Windows 95/ 98, Windows 2000, Windows ME, Windows XP, LINUX (1997+), Solaris and some versions of BSD.
Win 95/98/ME has support for 1284 Negotiation (parallel port plug and play) and fast printing in ECP forward direction. In order to take advantage of this capability you must have a printer and a parallel port with ECP capability. In addition, the parallel port must be configured in the Win 95/98/ME Device Manager as a "ECP Parallel Port" with an Interrupt (IRQ) and Direct Memory Access (DMA) channel configured. If you do not have these setting configured, but do have and ECP capable printer, then the driver will "fall back" to the fast Centronics mode of operation. If neither of these conditions are met, then the driver stays in the old slow mode.
IBM is working on a 1284 driver for OS/2. For Win 3.x, Windows for Workgroups, or DOS, you must obtain a driver from a 3rd party. Unfortunately, I don't know of one. Hopefully we'll have one in the near future. In the meantime we will continue to provide our fast Centronics mode drivers with our cards.
I just bought a new PC and it says that I have an EPP/ECP port. Is there any advantage to adding a second 1284 port?
There may be. Depending upon the type of chipset used for the parallel port and the software (BIOS) used to set it up, you may encounter problems trying to use it in the advanced modes. See if your CMOS setup has a parallel port mode option for EPP+ECP; this is the one you want. If there is only PS/2, EPP, ECP then you may find it difficult to use. For Win 95/98/ME choose the ECP setting. Your EPP peripherals may operate OK. If not, then it is probably worth adding a second parallel port.
Does the ECP driver in Windows 95/98/ME initialize the configuration registers in the interface?
No, Windows does not initialize these registers. These registers are only accessed by the BIOS for the motherboard I/O controller. Neither BIOS or Windows will access these registers on an add-on card.
Is it typical for the host code (in the PC) to emulate EPP by toggling the various control lines in the parallel mode?
Only if the peripheral only supports EPP and the driver developer wants to support EPP on non-EPP controllers or boards. On our WarpExpress board, you get to EPP mode by setting the upper 3 bits of the ECR register to 0x100xxxxxb.
Please explain EPP 1.7 and EPP 1.9 and how they relate to IEEE 1284-2000.
EPP1.7 was the EPP mode implemented on the Intel 87360 (?) I/O controller in 1991. This was prior to the IEEE 1284 standard. EPP 1.9 is what was adopted by the IEEE. The difference is that in 1.7 the next I/O cycle is not held off by nWait, whereas in 1.9 the next cycle will not start until nWait is high. It's a very subtle difference.
How can I learn more about this subject?
Take a look at our Introduction to the IEEE
1284-1994 Standard page.
2. The following books:
"Programming the Parallel Port" by Dhanjay Gandre (forward by Larry Stein of Warp Nine Engineering).
© 1998-2004 Warp Nine Engineering