I am looking.
I would like to keep this alive. I am looking...
I am using the LPT for a 4 bit data analyzer at 400MHz. With a fifth line for start/stop.
That is data change capture with 2.5nS resolution, time stamped into a file after I fill memory or turn off the switch.
If you were using windows then this would be not possible. It is DOS.
In Windows if you disable() interrupts Windows just says you are not interested in interrupts, and honors your enable() in some future timeslice if you ask it to. Because everything is virtual it only looks like timers and stuff work well. Windows goes off into the weeds on a regular basis. If you use a fast enough machine you can get VB6 to do respectable controlling. A few low level hooks via some drivers can overcome some timing problems like running timers/counters without Windows introduced errors.
Mach3 handles these problems well. Look inside the Mach3 drivers to get some idea of how this can be made to work. You need to be able to feed a queue that is processed by a low level driver to defeat Windows timeslice theft when you need the CPU most.
Super X3. 3600rpm. Sheridan 6"x24" Lathe + more. Three ways to fix things: The right way, the other way, and maybe your way, which is possibly a faster wrong way.