Some time ago I purchased Parallel Port Complete which was very good. I was building a system which would make a PC act like a glass printer using the parallel port as an input device. Since my software could not poll fast enough to keep up with the strobe, I designed and built a hardware latch which sets the busy bit high when the strobe fires and keeps it high until my software acknowledges the data. I used the inpout32.dll to access the registers. This system has been working well for about a year. I am trying to port the system to Windows 7 64 bit system. I have set up the inpoutx64 driver so that the operating system is detected and the proper drivers are loaded. This all worked fine on the 64 bit system for a week or so then I started getting a value of 4 every time I retrieved the data register. I have changed the cable, the data latch, the print server, and the 64 bit computer. I have also tested the software on a 32 bit system to be sure it was not a code issue. I thought it could be the windows port driver so I rebuilt the machine with the restore disk and stepped through the code. The code detects the busy, reads and stores the data register, then ack the port. However the data register always returns the value 4.
> When working on the 32 bit system I found that windows occasionally checks the port and resets the control register which was causing random characters from time to time, this was resolved by setting the control register just before reading the data register. I don't know if Windows 7 64 is doing something like this? I do still set the control reg before reading data.
> I hope you may have some thoughts or can point me to some information to help me resolve this issue.