////////////////////////////////////////////////////////////////////////
//
// Windows NT/2000/XPPro PCI V2.3+ Detection & Statistics Program
// (c)1997-2003 Altitech, All Rights Reserved 
// 
// Freely distributable to all fellow programmers, developers, geeks,
// techs or individuals with curiosity.  
//
// Usual Disclaimer:
//
// Altitech assumes no warranty or liability for any damage, use or 
// misuse of this software and does not authorize any profit or 
// non-profit organization to sell this software, either by itself 
// or with any other product without the express written consent of 
// Altitech.  This release is for personal use only.  It is intended for 
// informational purposes or as a debugging tool only!  
// 
// Please do not modify any distributed files.
//
// Enjoy!
//
///////////////////////////////////////////////////////////////////////
//
// Special thanks to Craig Heart maintaining the master database and  
// for ensuring that my guilty conscience would not be satisfied until
// AltiPCI used it *smie*.  Many dedicated individuals have contributed 
// to the original database design and many more to the core.  Great 
// work and sorry for the delay!
// 
// Please support this database by adding and correcting submissions: 
//   http://home.hyperlink.net.au/~chart/pci.htm
//
// You can obtain the latest "pcidevs.txt" download from 
//   http://home.hyperlink.net.au/~chart/download/pcidevs.txt
//
///////////////////////////////////////////////////////////////////////

Supported Platforms / Operating Systems:
  Windows NT4.0
  Windows 2000
  Windows 2000 XP Professional 
 
Files:
  altipci.exe  32 bit Windows PCI Statistics Application (advanced)
  altipci.sys  Windows NT/2000/XP PRO Driver 
  altipci.inf  Windows NT/2000/XP PRO Driver Easy Installation File
  altipci.txt  This support file
  pcidevs.txt  PCI database file maintained by Craig Heart and 
               supported by users like YOU.  You can freely download 
               the latest PCI database from: 
               
               http://home.hyperlink.net.au/~chart/download/pcidevs.txt

Description:
  This program displays statistics for all PCI devices on the current
  system.  Right/left arrows scroll between devices and up/down
  arrows next to "Command" and "Status" listboxes indicate the  
  PCI features currently implemented or availiable.  The program is 
  relatively straightforward and a nice support tool for PCI developers.  

  A "Dump" button has been added to generate single device reports and 
  A "Report" button has been added to generate detailed reports for 
  all devices on the local system.   

Other Notes:
  This program is unable to determine the Base Address Region length.  This 
  is due problems with the standard NT HAL layer.  I hope this becomes T
  availiable soon as this information is very inmportant to designers.
 
  Though the application is 32 bit, the driver only works with NT 4.0+
  based operating systems.   

  The .INF file includes uninstall information which allows you to remove 
  all registry information and the driver from the OS.  Unlike large 
  software companies, my philosophy is that the user should have 
  complete control of their system down to the last uninstall.
  
  !!! IMPORTANT !!!

  NT Drivers use kernel level system calls that probe into the GUTs of 
  machine.  It is absolutely critical that the correct driver be installed
  with the appropriate GUI.  This can be accomplished by running the install
  procedure below AND REBOOTING!!!  Since the PCI address space is pretty 
  fixed, chances are that an older driver producing a BSOD is highly unlikely
  Nevertheless, data may not be accurate without the correct driver.    

PCI 2.2 & 2.3 Additions 
 
  The Capability Pointer has been added and shows up in both the 
  Dialog box and hex dumps.  All Class Code information and status 
  flags should be up to at least PCI 2.3 Specification
  
______________________________________________________________________

Install:
  You may be able to double click the .INF file to install the program 
  but a right mouse click and selecting "INSTALL" seems to work the best.

  It's that simple

  This also overwrites any previously installed "AltiPCI" driver that 
  may be incompatible with your latest version.  As always with any 
  kernel mode driver install, you must reboot the system for the 
  driver to load. 

  Of course with any kernel mode driver, You must also have SU / 
  Administrator privlidges to install it.  After that, Any user may 
  view the PCI information with just the 32 bit GUI at their leisure. 

  Tip: If the driver has previously been installed and you wish to 
  update the driver with the same procedure above, you do not need 
  to reboot.  Simply "Stop" the old "AltiPCI" driver in Windows NT 
  Devices, run the INF installer and then "Start" it again.  
  
  In Windows 2000 select: 
  
  * Start -> Programs -> Administrative Tools -> Computer Management 
  * From the left window, select the "Device Manager" icon 
  * From the menu, select "_View" -> "Show Hidden Devices"
  * From the right window select "Non-Plug and Play Drivers" -> "AltiPCI"
  * Select the "Driver" tab
  * The "Start" and "Stop" buttons are there!
______________________________________________________________________

Uninstall:
  Open the ADD/REMOVE PROGRAMS box and see if the Altitech PCI 
  Detector is there.  If you want to uninstall, select the 
  software and click the ADD/REMOVE button.  

  I abhor dirty uninstall programs that leave partial remains in 
  the system.  Special care has been added to completely wipe all 
  traces of this program from your already overtortured registry.  
  Feel free to examine and learn from the INF file. If only others 
  could do the same...

Troubleshooting:
  Look in the CONTROL PANEL or Computer management -> DRIVERS box.  
  The altipci.sys driver should be running and on automatic.   If its 
  not, set it, then try starting it manually or reboot.  
______________________________________________________________________

History:

  WPCISTAT 1.01  7/18/97 - first release.
  WPCISTAT 1.03  9/15/97 - updated PCI info, Fixed Minimize & 
                           dialog launching properties, Fixed keyboard 
                           input compiled updated database. 

  ALTIPCI  1.04  2/20/98 - updated PCI info, Renamed program, restructured 
                           internal files.
  ALTIPCI  1.05  4/ 5/98 - updated PCI info
  ALTIPCI  1.06  4/11/98 - updated PCI info, Enhanced Formatting

  ALTIPCI  2.01 11/13/98 - Driver changed to include new HEX dump & added 
                           features.  Updated GUI dialog box to include 
                           potential sub vendor information and hex dump.  
                           Fixed multi-function identification bug. Updated 
                           PCI Info as of 7/98,  Updated Text/Install Files.
  ALTIPCI  2.02 11/15/98 - Updated PCI Info & Text File as of 11/15/98        
  
  ALTIPCI  3.01 5/22/99  - Updated PCI Info & Text File as of 5/22/99
                         - Merged another online PCI database
                         - Added "PCI Report" to report all PCI stats to file
                         - Added "Dump->" to report device stats to file 
                         - Added SubVendor & Subclass Descriptions 
                         - Fixed Background Color Scheme (Identified
                           from Windows 2000 Prerelease Beta 3 Bug...  
                           the standard RGB(192,192,192) is incorrect)  
                         - Fixed Driver bug:  CIS, SubVendorID,  
                           SubSystemId assignments were messed up  
                         - Converted Driver from debug build To released 
                           version (49K -> 3329 Bytes)
  ALTIPCI  3.02 5/26/99  - Updated Text File as of 5/26/99
                         - Fixed base regions to display masked addresses
                         - Fixed color scheme once more
  ALTIPCI  3.03 10/25/02 - Updated Text File as of 10/25/02
                         - Includes PCI V2.3 Specifications  
                         - Few GUI Fixes

  ALTIPCI  3.10 10/30/02 - Greatly simplified driver (1985 Bytes)
                           (note, old driver will no longer work)
                         - Compiled with Windows 2000 DDK
                         - Redesigned AltiPCI to handle driver protocol  
                         - Slimmed AltiPCI dynamic space 
                         - Added Capability Pointer(PCI 2.2)
                         - Minor GUI Enhancements 
                         - Fixed several formatting bugs
  ALTIPCI  3.11 10/31/02 - Fixed dark grey color bug for 2000 & XP
                         - Fixed GUI "<" ">" overshoot bug which 
                           turned "Dump" into a full "PCI report" 
                           near boundaries (in overshoot cases).
                         - Added defaults to the Save Dump/Report                           
                           dialog box                       
 
  ALTIPCI  4.01 11/08/02 - Finally Ported to pcidevs.txt database! Yea!
                         - New loading format, if pcidevs.txt is not 
                           detected it will prompt you for the file.
                         - Interprets Vendor, Device, Revision, SubDevice
                           and Subsystem codes 
                         - Revision description added in dialog if 
                           there is room. 
  ALTIPCI  4.02 11/14/02 - Fixed duplicate string termination bug 
                         - Fixed large font "hex dump" scroll box 
                         - Database Loader optimizations
                         - Latest pcidevs.txt included 

 