please dont rip this site

IEEE 1284 Byte Mode

With later implementations of the parallel port interface, some manufacturers, led by IBM on the PS/2 parallel port, added the capability to disable the drivers used for driving the data lines, and allowed the data port to become an input read data port. This enables a peripheral to send an entire byte of data to the PC in one data transfer cycle by using the 8 data lines, rather than the two cycles required using the Nibble mode. Byte mode is always entered through negotiation.

This ability enables a Byte mode for reverse channel data transfer that can be used to provide data rates into the PC approaching that of the Compatiblity mode, from the PC. This type of port is sometimes referred to as a "enhanced bi-directional" port, and has caused some confusion when mistaken for an Enhanced Parallel Port (EPP).

The following table identifies the Byte mode signal names, and figure 3 shows the handshake for a Byte mode data transfer.

Table 1 -- Byte Mode Signals

SPP Signal Byte Mode Name In/Out Description
Signal usage when in Byte Mode data transfer
nSTROBE HostClk Out Pulsed low at the end of each Byte mode data transfer to indicate that the byte was received. Acknowledge signal.
nAUTOFEED HostBusy Out Set low to indicate host is ready for byte. Set high to indicate byte has been received. Handshake signal.
nSELECTIN 1284Active Out Set high when host is in a 1284 transfer mode.
nINIT nINIT Out Not used. Set high.
nACK PtrClk In Set low to indicate valid data on the data lines, set high in response to HostBusy going high.
BUSY PtrBusy In Forward channel Busy status.
PE AckDataReq In Follows nDataAvail
SELECT Xflag In Extensibility flag. Not used in Byte mode.
nERROR nDataAvail In Set low by peripheral to indicate that reverse data is available.
DATA[8:] DATA[8:1] Bi-Di Used to provide data from peripheral to host.

Figure 1 -- Byte Mode Data Transfer Cycle

Byte Mode signal transistions:

  1. Host signals ability to take data by asserting HostBusy low
  2. Peripheral responds by placing first byte on data lines
  3. Peripheral signals valid byte by asserting PtrClk low
  4. Host sets HostBusy high to indicate that it has received the and is not yet ready for another byte
  5. Peripheral sets PtrClk high to acknowledge host
    Host pulses HostClk as an acknowledgement to the peripheral
  6. States 1 through 5 repeat for additional bytes

file: /Techref/io/parallel/1284/bytemode.htm, 4KB, , updated: 2003/1/20 19:34, local time: 2024/7/17 08:44,

 ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE!

<A HREF=""> IEEE 1284 Byte Mode</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type a nice message (short messages are blocked as spam) in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.

Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?


Welcome to!

Site supported by
sales, advertizing,
& kind contributors
just like you!

Please don't rip/copy
(here's why

Copies of the site on CD
are available at minimal cost.

Welcome to!