LPT port support on Windows

From AtariForumWiki
Revision as of 10:47, 11 October 2011 by >Wongck
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

LPT port support on Windows NT/2000/XP

WriteLog does not support LPT ports on the Microsoft operating systems that protect against program access to the computer's device input/output registers. However, it is possible for you to use a freeware program to override the protection.

We do not recommend that you override the device i/o protection, but if you want to use an LPT port, here is how you can accomplish it.

1. Download userport.zip from here: http://www.embeddedtronics.com/design&ideas.html.

2. You only need 2 files from the userport.zip download: UserPort.sys,and UserPort.exe. The following is step-by-step of how you can accomplish this.

3. Choose a disk drive on your system to keep the UserPort files. For example, I will use "C:". Unzip userport.zip into "C:" with the "Use Folder Names" option turned ON. This will create c:\UserPort (and some other directories we won't use.)

4. Open a command window and set the default to the newly created directory: From the Start Menu, choose "Run", and type in "cmd" and <Enter>. When the command window comes up, type in:

c: (the disk you chose in 3), and then cd UserPort

5. Type this command:

   Copy UserPort.SYS %WINDIR%\SYSTEM32\DRIVERS

6. Run UserPort.exe by using this command:

   UserPort

7. One at a time, click on all the entries in both the left panel and the right panel, and then click the corresponding "Remove" button until the screen is clear.

8. Now, in the left panel, add the interval for the LPT port you want to use. You will need to click the "Add" button once for each LPT port you want to enable for WriteLog. In this example, we add support for LPT1 at the default address only, which is 0x378. WriteLog uses the base address up through the base address plus 3. So in this case, the range is 0x378-0x37B.

9. Now click "Update", then click "Start", and then click "Exit".

After a reboot

10. On at least one Windows 2000 system, I have found that the userport is not working after a reboot. Either no LPT ports appear enabled in WriteLog, or too many LPT ports are, or WriteLog crashes with a "Privileged Instruction" violation. The fix is to run UserPort.exe, click "Stop", "Update", "Start", and "Exit" after every reboot.

Cleaning up

1. Run Userport.exe. Click the "Stop" button. then "Exit". Note that it is important to do the Stop button last and before you delete userport.exe. Otherwise, Windows will attempt to reload the driver on every reboot.

2. Delete the .sys file: del %WINDIR%\SYSTEM32\DRIVERS\userport.sys

3. Remove these registry entries: My Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UserPort

4. Reboot

(Send mail to k5dj@writelog.com with questions or comments)


Back to Transferring_Files