Engraving Tool
Current Tools


Shop Tour

Other Interests

 Hand Engraving Simulation CNC

Tool Path GCode


Arrow Pro


Hand Engraving, gravers, watches, tools for jewelry

Trouble shooting the lpt port for the DRO program

Others have been trying to get dro.exe to work with their lpt port.  For some it would work and others it wouldn't. Back when I wrote the program it seemed there were only two modes for a lpt port: bi-directional and normal. Back then I was setting the port in bi-directional mode through the computer's bios. However I have found now with my latest Pentium motherboards that bi-directional mode does now work with the program. The mode that does work is ECP mode. Go into the bios of your computer and see if you have a setting for this mode....and if so you should be in business.

Here is an email reply to a user that may be helpful.

I just tried running portstuf.exe using a 9volt battery between pin 2 and pin 22.  In the bios I have a normal, bi dir., EPP and ECP.   Normal and EPP seem to be 4 bit modes.  I then tried bi-directional thinking this is it.....but no deal.   It was acting real strange.  When I attached the voltage to pin 2, other pins would switch on along with it.   I wonder if this is what some users have been experiencing.  The dro software would do nothing but count errors this way.   I tried lots of setting in the control registery with bi-directional, but it just would not work.   I then went back into the bios and changed the port to ECP and now it all works.   I even messed in the control registery and no matter which bits I had turned on there the dro program still worked fine.  

Back when I wrote the software I don't think there was really a standard....there was only normal and bi-directional,    and bi dir worked then.  

To test your lpt port out to see if it is truly in bi-directional mode download this program
(portstuf.zip). This is a program I wrote while working on dro40.exe. It is a DOS utility used to read and send bits to the lpt port address of your choice.

Start portstuf.exe without anything attached to the port....run number 1 (read DATA REGISTER).  If the data pins are not all zeros then run number 4 (send bits to data register) and send the port a 0 (zero).  Now run number 1 again and see if they are all zeros.  If not, then it is a problem with the port.  If they are all zeros try and hook five volts (tape some small batteries together so they add up close to 5 or 6 volts) and hook positive to pin 2 and ground to one of the ground pins (pin 22 will work).  Now run number 1 of portstuf.exe...it should show a decimal number 1 and in bits it would look like this...00000001... if the port is working.  If this worked try hooking the adapter interface (transistor interface you made) for the encoders to the port and run portstuf again. Move the encoder a little then run number 1.  and do it again and again.  You should see the bits going on and off depending on where the encoder is sitting.  If this seems to work run number 12.  It will ask you how many changes in the port do you want it to watch before returning back.  Enter in 10 or so to start with and see if that works... if it doesn't portstuff will sit and sit waiting for changes to the port and never return back to you.... so you must crash the program or if you're not running windows you must reboot.  (sorry I didn't give another way out of this loop if nothing changes at the port).  If you get this all to work dro40 should work as it is using the same basic method to read the port.


          Copyright 2010 Steve J. Lindsay, All rights reserved.