WIN95IO.DLL, Version 1.00
Copyright (c) 1996 SoftCircuits Programming
Redistributed by Permission.

Provided by:
  SoftCircuits Programming
  P.O. Box 16262
  Irvine, CA 92623
  CompuServe: 72134,263
  http://www.softcircuits.com

Overview
========
WIN95IO.DLL is a 32-bit DLL that provides access to port input/output (I/O) under Windows 95. It was written for use with 32-bit Visual Basic since Visual Basic does not have I/O instructions. Note that, due to the Win32 architecture, the DLL may not always behave exactly as expected. Read on for additional information.

While DOS and Windows 3.x applications may perform port I/O freely, Win32 operating systems assume that port I/O is handled by device drivers. As discussed in Microsoft KB article Q112298, attempting to use the port I/O functions from within an application for Windows NT running in user mode causes a privileged instruction exception to occur. Although Windows 95 takes a similar approach, port access under Windows 95 does NOT cause a protection fault. Thus the reason for writing this DLL.

Although port access under Windows 95 does not cause a protection fault, it may not always perform as expected. For example, if a DOS application is accessing the same port, or a device driver has control of the same port then a port read or write may be ignored. Further, if you write a 32-bit application that uses this DLL, care must be taken to prevent it from running under NT.

SoftCircuits provides this software "as is" with no warranty of any kind. We have attempted to provide software that may be useful and described the situations where we believe it is not be useful. SoftCircuits makes no additional claims beyond this including claims that this documentation is accurate. Use this software and documentation at your own risk.

Declarations:
============
Declare Sub vbOut Lib "WIN95IO.DLL" (ByVal nPort As Integer, ByVal nData As Integer)
Declare Sub vbOutw Lib "WIN95IO.DLL" (ByVal nPort As Integer, ByVal nData As Integer)
Declare Function vbInp Lib "WIN95IO.DLL" (ByVal nPort As Integer) As Integer
Declare Function vbInpw Lib "WIN95IO.DLL" (ByVal nPort As Integer) As Integer
