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