Click here to Skip to main content
15,908,661 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
In the distant past there were applications that did direct access to the motherboard parallel ports (ISA). The application do not work with the plug & play (PCI) parallel ports.

If you know the base address of the PCI parallel ports are the registers the same as the original ISA ports?

I have asked this question of the board manufactures (like SIIG) and they refuse to answer.

Bob Macklin
Seattle, Wa

What I have tried:

I use VC++ version 5 to generate applications. It does not provide parallel port operations like it does for the serial port. It only provides standard printer services.
Posted
Updated 4-Apr-16 18:00pm

By some reasons, CodeProject is the resource with ridiculously high number of parallel port articles: Search — CodeProject[^].

—SA
 
Share this answer
 
Really VC 5? For which Windows version?

Since Windows NT normal applications have no direct access to hardware. You always need a driver.

Because parallel ports are outdated, it is difficult to find still working examples. But this site may be a good starting point: Jan Axelson's Lakeview Research[^]
 
Share this answer
 
Comments
macklinbob 4-Apr-16 12:41pm    
I can use the inp and outp instuctions to direct access the port if I know the base address.

I can find the base address in the Device Manager.

Bob Macklin
Seattle, Wa
Jochen Arndt 4-Apr-16 12:48pm    
These functions will not work from user mode applications with NT (NT, 2000, XP, and later). They will cause a privileged instruction exception.

That is why I asked for the Windows version.
Sergey Alexandrovich Kryukov 5-Apr-16 0:01am    
Despite the fact they are outdated, so many CodeProject authors worked with them. I cannot even understand why. Please see Solution 2. :-)
—SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900