What about ECP mode, which requires DMA? 
Originally the LPT port was output only, no ifs, and, buts, or inputs. Built to 
the original specs there should be no way at all to push data into the port. 
But naturally some manufacturers didn't stick 100% to the specs. Then various 
hackers figured out ways to have a peripheral twiddle four status lines on and 
off, and how to write software to intercept and interpret that status info as 
data instead of "WTH is wrong with the printer?".

Tada! An 8 bit output, 4 bit input port. Horribly slow but a way to put data 
into a PC without having to install any special hardware. IBM went on to make 
that method official, which is commonly called "bi-directional" or "PS/2" mode.
Then we got tape backups, image scanners and many other devices connecting to 
the printer port, and sections in the instruction manuals about needing to 
install a second LPT card, or replace the current one, if one's PC happened to 
have a 100% original spec LPT completely incapable of hacky data input.

Then along came EPP and ECP with their ways of shoving 8 bits at a time into 
the LPT port along with output, and doing both at higher speeds. IIRC one or 
both makes the 8 normally output pins bi-directional. Interesting that your 
research has shown that standards compliance with EPP is so bad that it's a 
wonder some manufacturer's devices work at all.

    On Tuesday, April 23, 2019, 7:43:52 PM MDT, Jon Elson 
<el...@pico-systems.com> wrote:  
 On 04/23/2019 11:21 AM, Joe Hildreth wrote:
> Jon,
>
>> I make boards that use the parallel port as a communications
>> channel for motion control.
>> These use the IEEE-1284 (EPP) mode for faster communication.
> How do you test if a card works properly in EPP mode?  This would be good 
> information to add to the list for those using your hardware.
>
>
All I am concerned with is if it works with my boards.  But, 
in the process, I learned more than I ever WANTED to know 
about EPP.  EPP is a horrible "standard", because it really 
doesn't seem to be a standard.  There is the IEEE-1284 
designation, but I've never seen the standards document, 
probably because I can't afford it.  The best thing I ever 
found was the datasheet from an old ISA-bus multi-IO chip.  
Also, there is a Microsoft document that generally lays out 
how it is supposed to work.  But, chip makers don't follow 
any of that.  The Microsoft doc shows timing diagrams with 
no numbered specs on timing.  But, at least, the data bus is 
shown as stable before the strobes are asserted.  Well, some 
chips assert the strobes FIRST, then the data FOLLOWS.  Not 
even at the same time, but the strobes come 50 ns FIRST!  Crazy!
<clip>  
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to