To the Ineffable All,
Does anyone know of a method to control the parallel port or the I/O ports directly from Windows using a fairly late model O/S like Vista? I don't want to write a driver to do that. I want to use assembly and not some high level language, of course. Thanks, Ratch
Does anyone know of a method to control the parallel port or the I/O ports directly from Windows using a fairly late model O/S like Vista? I don't want to write a driver to do that. I want to use assembly and not some high level language, of course. Thanks, Ratch
Using a driver is the only way in a modern OS.
Regular applications are not allowed to access privileged memory or I/O ports. Only kernel-mode drivers are allowed to do that.
Regular applications are not allowed to access privileged memory or I/O ports. Only kernel-mode drivers are allowed to do that.
Ratch,
Easy to do without using non-resident driver. The port--either serial or parallel--is opened as a file. Works in win95 thru win7:
http://www.movsd.com/board/index.php?topic=12488.msg96491#msg96491
The program uses a serial port if present, otherwise is uses a parallel port.
hth,
farrier
Easy to do without using non-resident driver. The port--either serial or parallel--is opened as a file. Works in win95 thru win7:
http://www.movsd.com/board/index.php?topic=12488.msg96491#msg96491
The program uses a serial port if present, otherwise is uses a parallel port.
hth,
farrier
Another example you might find useful (although it is serial port too): http://board.flatassembler.net/topic.php?p=50386#50386
If you want to give it a try you'll need to attach an old COM mouse just before firing up the program.
If you want to give it a try you'll need to attach an old COM mouse just before firing up the program.
I did some work with the parallel port under XP and up.
One code library I worked with was called Port I/O. Its basically a ring0 driver for windows machines, and a userland DLL to talk to the driver.
It requires that you enter your BIOS menu and fiddle with the printer port settings (older machines) or PIO controller settings (newer) but it works, although its not realtime, its delayed by Windows OS. An older operating system will let you get full rate.
One code library I worked with was called Port I/O. Its basically a ring0 driver for windows machines, and a userland DLL to talk to the driver.
It requires that you enter your BIOS menu and fiddle with the printer port settings (older machines) or PIO controller settings (newer) but it works, although its not realtime, its delayed by Windows OS. An older operating system will let you get full rate.
To All,
Thanks for the help, everyone. I will try some of the suggestions. Ratch
Thanks for the help, everyone. I will try some of the suggestions. Ratch