How to prevent WinXP from sending non-zero bits to parallel port when loading Windows?

Good day. I am having problem with my parallel port which is connected to a simple DIY alarm device. My alarm will sound whenever a "1" was send to pin 2 (or Data Port) of LPT1, and off when "0" bit was sent. The alarm is working properly using Visual Basic program I developed.

The problem is, when Windows is loading, it seems that XP is sending some non-zero bits to LPT1, causing my alarm to sound. Probably it's detecting the parallel port. Is there any way to prevent XP to do so so that my alarm won't sound everytime I start/restart my PC?

Thanks and hope to hear from you soon.
cwchan80Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

jhanceCommented:
I suspect you'd find that the LPT device drivers in doing some sort of self-test or other hardware detection during the initialization of the driver.  Unfortunately, apart from removing the driver itself (which is possible) and writing your own LPT port driver (which is also possible but more complex than a VB program) you'll have to learn to work around this.

Two suggestion:

1) Generally data on the LPT port is only flagged to be valid when the STROBE (i.e. pin 1) is LOW.  So your external hardware should gate any action involving the data bits with pin 1 being active.  This may also require a change in your VB application in order to set/reset pin 1 but in the end you'll have a more robust setup.

2) Alternatively, you could use the state of TWO pins being in opposite states to signal your device.  This way you would not get triggered by the "all low" state of init but only by your VB app's setting of bit 0 to a "1" and bit 1 to a "0" at the same time.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
waffleironheadCommented:
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

accept jhance's comment as answer

Please leave any comments here within the next four days.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

waffleironhead
EE Cleanup Volunteer
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Desktops

From novice to tech pro — start learning today.