This is release 1.21 of isapnptools
===================================

Changes since Release 1.20
==========================

General
-------
1) Added release.c to the tarball !
2) Declare version number strings in release.h
3) --help flags only give help (was in release-1.20)
4) Removed pnpdump binary and errors_found.txt from test directory...
5) perl script and README.lib changed appropriately
6) Tidied up implementation of snprintf() for DOS version
7) My snprintf() code put in a separate file

Makefile
--------
1) Added instructions for use of NEEDSNPRINTF in Makefile
2) Added mysnprtf.[ch]
3) Added dependencies for resource.o

pnpdump (now v1.21)
-------------------
1) Pulled out banner() function to include library versions

isapnp (now v1.20)
------------------
1) Removed duplicate declaration of serial_identifier
2) Rewrote banner() function to include library versions

FAQ (now v0.12)
---------------
Added pointer to http://www.linmodems.org/.
Added some stuff about problems that occur (cross)compiling for DOS.

Changes since Release 1.19
==========================

General
-------
1) Useful bits of pnpdump and resource stuff have been pulled out into
   a separate library.
2) These changes are MAJOR, so check !
3) Two short demo programs have been written, to demonstrate the usage
   of the new library (libisapnp.a).
4) The filenames in FILES were reordered according to strict
   alphabetical order, and several new filenames were added.
5) Some regression test scripts have been included in the test
   subdirectory.
6) Checking for resources in the /proc filesystem removed in DOS
   version.
7) Attributes added so no warnings should occur during compilation
   now.
8) The pnp-list is no more. Various documents fixed.

pnpdump (now v1.20)
-------------------
1) pnpdump restructured to use the library for large part of its
   functionality.  This was a major change.
2) manual page corrected. --showmasks option is really --masks.
3) Added --help option.
4) Dump more pnp registers with -d flag, including Activate and IO
   Range check.

isapnp (now v1.19)
------------------
1) isapnp restructured to use the library for large part of its
   functionality.  This was a major change.
2) Added --help and --version options.

FAQ (now v0.11)
---------------
Lots of stuff added, too numerous to identify individually, but includes
the effect of the changes above.
Made MetaLab HOWTO pointers point to web site rather than ftp site.

Changes since Release 1.18
==========================

General
-------
Added Y2K statement to the README ! (for what it's worth)
Makefile improved to allow easier install into non-root filesystems.
Improved isapnp man page with error messages, their meanings, and what
to do when you get them.

pnpdump (now v1.19)
-------------------
1) Added realtime processing limit, and --max-realtime flag to change it.
2) Added --version flag, and add isapnptools version to output
3) Fixed various bugs in resource allocation that would cause hangs with -c flag.
4) Fixed typos.
5) Fixed debian bug 35138. Boards requesting IRQ2 get converted to IRQ9.
6) Manual page updated with real-time warning and new flags
7) Leave real-time mode when finished accessing hardware
8) Fixed shell script output to remove surplus pnp_isa_configure calls.
9) Start scanning for read ports at 0x273 to avoid sound cards at 0x200.
10) Scan /proc/pci for IRQ resources used if /proc/bus/pci/devices not found.

isapnp (now v1.18)
------------------
1) Added realtime processing limit of 5 seconds.
2) Fixed IO resource checking - was happening twice, hence giving conflict.
3) Manual page updated with real-time warning and description of errors.
4) Keep READPORT allocated so we can spot when we allocate a device on top of it.
5) Check manual READPORT setting for resource conflicts.
6) Start scanning for read ports at 0x273 to avoid sound cards at 0x200.
7) Scan /proc/pci for IRQ resources used if /proc/bus/pci/devices not found.

FAQ (now v0.10)
---------------
Lots of stuff added, too numerous to identify individually, but includes
the effect of the changes above.
More pointers to information on modems etc added.

Changes since Release 1.17
==========================

General
-------
DOS binaries now use djgpp v2.02 libraries which support long-filenames.

pnpdump (now v1.18)
-------------------
1) Added --ignorecsum flag, output (IGNORECRC) if used.
2) Fixed bug in read_resource_data() where *result is written twice.
3) Reset and isolation sequence changed slightly.
4) Removed need for lspci (pciutils) - parse /proc/bus/pci/devices ourselves.
5) No longer use any external programs.
6) Fixed bug in reading MEM ranges from /etc/isapnp.gone
7) Make ANSI strings terminate at the first null when output.
8) Output (CHECK) keyword if device supports IO range check.

isapnp (now v1.17)
------------------
1) Fixed bug where following CSN configurations would be skipped if
the previous CONFIGURE configuration device was missing.
2) Fixed bug where escape sequences not handled correctly in SetLDName().
3) Configuration filename '-' means use <stdin>.
4) Removed need for pciutils - parse /proc/bus/pci/devices ourselves.
5) Fixed bug in reading MEM ranges from /etc/isapnp.gone
6) Display banner if (DEBUG) used in configuration file.
7) Added (CHECK) keyword for IO range checking.

FAQ (now v0.9)
--------------
Lots of stuff added, too numerous to identify individually, but includes
the effect of the changes above.
The general section split up to help locate relevant answers.

Changes since Release 1.16
==========================

pnpdump (now v1.17)
-------------------
1) The NAME keyword now output, even if there are no dependent resources.
2) Now check for resource conflicts before trying READPORT addresses.
3) Fixed scanning of /proc/xxx resources.
4) Fixed scanning of DMA resources in /etc/isapnp.gone.
5) Fixed compilation if ABORT_ONRESERR not defined.
6) Added ABORT_ONRESERR to compilation flags listed in output if set.

isapnp (now v1.16)
------------------
1) Source of resource conflict now included in errors and warnings
2) Fixed scanning of /proc/xxx resources.
3) Fixed scanning of DMA and MEM resources in /etc/isapnp.gone.

FAQ (now v0.8)
--------------
1) Added more stuff on BIOS behaviours.
2) Added hint to try changing PnP OS BIOS setting.
3) Added pointer to frodol's web page on glibc troubles.
4) Added stuff on how to avoid various IO ports for readport attempts.
5) Added little more on porting.
6) Added whole new section on upgrading.
7) Added hint to use --dumpregs with pnpdump to see what the BIOS allocated.
8) Added stuff on resource conflicts.
9) Made the Revision visible.

Makefile
--------
Removed READ_ADDR_SKIP stuff as it won't do anything anyway.

Changes since Release 1.15
==========================

general
-------
A file (/etc/isapnp.gone) has been added which allows manual
entry for resources that have been used.

pnpdump (now v1.16)
-------------------
1) LD numbering bug fixed. (Not reset for each card)
2) Segmentation violation bug fixed by patch 1.15a included.
3) Added settings for the new keywords: VERBOSITY, CONFLICT, NAME and SIZE.
4) Added method to specify resources that are unavailable
through the /etc/isapnp.gone file (the --config flag is useful now).
5) Added check for lspci, and print warning if not found.
6) Added new option --dumpregs (-d), so don't have to recompile.

isapnp (now v1.15)
------------------
1) Now includes resource checking.
2) Added CONFLICT keyword to allow resource conflicts to be
fatal errors, or just a warning.
3) Added SIZE keyword to IO configuration for resource checking.
4) Add configuration summary message on ACT, if a NAME keyword
was specified.
5) Added VERBOSITY keyword to limit the amount of output.
6) Improved DEBUG messages.
7) Improved error messages, now include the configuration filename.
8) The readport is checked against used resources to prevent
conflict.
9) Report error if the configuration file is unreadable.

Makefile
--------
1) Change to copy default isapnp.gone file during install.

INSTALL
-------
1) Changed --autoconfig to --config throughout.
2) Added stage to edit /etc/isapnp.gone
3) Added request to tell the Hardware-HOWTO maintainer of success.

man2html
--------
Added recognition of the new keywords.

Changes since Release 1.14
==========================

general
-------
The text version of the FAQ is now included.

pnpdump (now v1.15)
-------------------
1) The --autoconfig option has been renamed --config.
2) Three new options added: --reset for full reset, --masks for
showing vaild interrupt settings as a mask rather than a list, and
(not DOS version) --script to help automate configuration updates. See
the manual for details.
3) Bug fixed causing infinite generation of ')' characters.
4) Linux version now supports short format switches for options.

Makefile
--------
1) Added TAGS target.
2) Changes to support config scripts.

INSTALL
-------
Added instructions for obtaining lspci.

Changes since Release 1.13
==========================

pnpdump (now v1.14)
-------------------
1) pnpdump now supports --autoconfig option, where it will try to
   select acceptable values to configure the PnP boards.  It consults
   /proc/ioports, /proc/dma, /proc/interrupts and the output of the
   "lspci -n" command, if present, to avoid using resources already
   allocated to other drivers or to the PCI bus. Thanks to Adam J. Richter.
2) Add sys/types.h for Alpha systems

isapnp (now v1.14)
-------------------
1) PeekReg now only reads the hardware register once.
2) Add sys/types.h for Alpha systems
3) Add warning about attempts to use IRQ2, and change them to 9.
4) Add PEEK to ACT ie (ACT (PEEK)) now valid.

Makefile
--------
1) Warning about yyunput being defined not used fixed.
2) clean target now called semiclean
3) new clean target added which deletes binaries
4) -DNEEDNANOSLEEP nolonger present by default (I'm using libc5.4.44 !)

INSTALL
-------
Improved instructions on editing the isapnp.conf file.

Changes since Release 1.12
==========================

Summary:
1) Couple of bug fixes in pnpdump to correct the skeleton
   configuration file generated.
2) New feature to allow user specified IDENTIFY-FORMAT in
   isapnp IDENTIFY output.

pnpdump (now v1.12)
-------------------
1) Fixed bug introduced in previous version: CONFIGURE in
   skeleton had logical device id, but should be vendor id.
2) Low true, level sensitive interrupts would put +L in
   the skeleton, should be -L of course.

isapnp (now v1.13)
-------------------
1) Allow the user to specify format of IDENTIFY command using
   the new IDENTIFY-FORMAT command. Default is as previous
   versions:
   "Board %b has Identity %8 %7 %6 %5 %4 %3 %2 %1 %0:  %v Serial No %s [checksum %8]\n"

isapnp.conf.5
-------------
Updated to include documentation on the new command IDENTIFY-FORMAT.

man2html
--------
Updated to handle clash in keyword names IDENTIFY*.

Changes since Release 1.11
==========================

Summary:

1) Alpha ports added, specify -DALPHA in Makefile.
2) The default behaviour is now to preserve existing hardware
configuration settings for both pnpdump and isapnp. See
ISOLATE in the isapnp.conf.5 manual page on how to reset the
hardware configuration.
3) Two features have been added allowing common configuration
scripts across groups of machines (see CONFIGURE in the
isapnp.conf.5 manual page):
3a) Devices not found are skipped rather than aborting the
script.
3b) Serial numbers may be specified as instances of the
cards found, for example #1 means the first card with
the given Vendor Id, #2, the second etc.


README, INSTALL
---------------
Minor updates now that ISOLATE and pnpdump don't reset board
configurations by default.
Added note on using DOS port with loadlin to allow compiled-in
device drivers.

README.DOS
----------
Added comments about DPMI servers if it doesn't run.

README.initrd
-------------
Corrected: using initrd doesn't remove the need to have PnP
device drivers as modules, it just allows the root device to
be PnP. If you want to use compiled in drivers, run the DOS
version before using loadlin to boot.

FILES
-----
Added man2html.

pnpdump (now v1.11)
-------------------
1) Reformatted
2) Alpha port changes added.
3) Removed ioperm calls as iopl covers it (Except Alpha).
4) pnpdump no longer resets the board configuration registers when run.
5) Made serial number output unsigned, except for -1.
6) pnpdump.8 manual page updated.

isapnp (now v1.12)
-------------------
1) Now allow board serial number to be specified as #1, #2 etc for the
first, second etc boards of each type.
2) Removed ioperm calls as iopl covers it (Except Alpha).
3) Fixed bugs in handling IRQ settings.
4) Ensure board_found is 0 when starting ISOLATE, warn if not.
5) Missing boards now skipped, remaining boards still configured.
6) Alpha port changes added.
7) ISOLATE changed to take an argument - CLEAR or PRESERVE (default).
   [CLEAR was the old default (only) behaviour]. Determines whether
   existing configuration information preserved.
8) Made serial numbers unsigned, except for special case -1, which
   means no serial number.
9) isapnp.conf.5 manual page updated for the above, plus improved
   documentation for READPORT.

Changes since Release 1.10
==========================

Major new feature: DOS port added to allow dumping of settings used by
Win95/DOS. If you don't have djgpp, use the DOS binaries in the binary
distribution.

README, INSTALL
---------------
Minor tweaks.

README.DOS
----------
New file to describe building and using the DOS port.

FILES
-----
List the additional files in the binary distribution.
Improved descriptions, added more READMEs.

pnp.h
-----
1) READ_ADDR_STEP compile time option added.
2) IO port access definitions for the DOS port added.

pnpdump (now v1.10)
-------------------
1) Reformatted for emacs
2) Reset configuration between different readports
3) Allow single parameter for changing start readport address
4) Added compile time option to change readport address skips
5) Added sanity checks for resource data
6) DOS port added (using djgpp)
7) Added timeout in statuswait for OS2 and DOS ports

isapnp (now v1.11)
-------------------
1) Reset configuration between different readports
2) Added compile time option to change readport address skips
3) DOS port added (using djgpp)
4) Added timeout in statuswait for OS2 and DOS ports

Changes since Release 1.9
=========================

README
------
Corrected pointer to file format.
Corrected pointer to examples.

isapnp (now v1.10)
------------------
1) Now supports glibc >= 2.
2) Usage message includes web reference.
3) VERIFYLD command added to disable logical device number checking.

pnpdump (now v1.9)
------------------
1) Now supports glibc >= 2.
2) Usage message includes web reference.
3) Output file includes web reference.
4) Added (WAITFORKEY) to the end of the output.

isapnp.conf(5)
--------------
1) Added documentation for VERIFYLD.

Changes since Release 1.8
=========================
Manual pages added - isapnp.8, pnpdump.8 and isapnp.conf.5.
More READMEs added - README.ide, README.initrd, README.modules

README
------
Installation instructions and documentation on file format
removed. Installation instructions now in a separate file
INSTALL.

pnpdump (now v1.8)
------------------
1) The MEM example lines had mismatched brackets.
2) Added more text on startup.
3) (ACT Y) wasn't always commented out.

isapnp (now v1.9)
-----------------
1) Modified parsing so that keywords don't need repeating uneccesarily, eg
(REG 0 (PEEK))(REG 1 (PEEK))
may be simplified to
(REG 0 (PEEK) 1 (PEEK))
and similarly for IO, DMA, MEM, and INT.
2) Fixed peek device name (was always the last device).
3) Improved error printout to print the remainder of the line.
4) Allow funny characters in the ident (@[\]^_).
5) Print error if board not found even if debug not set.

Changes since Release 1.7
=========================
Linux version tested is 2.0.10 now, few other minor things.

OS2 support code added - see README.OS2.

README
------
Added more on configuring the makefile - depending on library

isapnp (now v1.7)
-----------------
1) Added #ifdefs for the extra syscalls.

pnpdump (now v1.6)
------------------
1) Added #ifdefs for the extra syscalls.

Changes since Release 1.6
=========================
Linux version tested is 2.0.0 now, few other minor things.

isapnp (now v1.6)
-----------------
1) Serial number -1 now acceptable (for cards without serial number)
2) Removed limit on the number of configuration commands
3) Improved error messages, made parsing abort on first error.

Changes since Release 1.5
=========================
Added changes to README in the last release.

isapnp (now v1.5)
-----------------
1) Fixed bug where MEM and DMA string lengths identified incorrectly,
so arguments not read correctly.

Changes since Release 1.4
=========================
README
------
Lots more good stuff added, particularly on the debugging side.

isapnp (now v1.4)
-----------------
1) Added REALTIME code, to use the real-time scheduling in later kernels.
2) Added timeout reading resource data for REALTIME.
3) DMA register setting bug fixed.
4) Added PEEK to all the standard named register configurations.
5) Added check for READPORT setting before trying to read stuff.

pnpdump (now v1.5)
------------------
1) Added REALTIME code, to use the real-time scheduling in later kernels.
2) Added timeout reading resource data for REALTIME.
3) Fixed message for DUMPREGS on DMA channels (said Interrupt).
4) Added the ability to dump without ISOLATE, by giving the number of
boards, and the read_port address on the command line.
5) Fixed error where if the only interrupts were 8+, the isapnp output
would be wrong.

Peter Fox
14-Jun-96

Changes since Release 1.3
=========================
README
------
Improved even more, with a section on instructions.

isapnp (now v1.3)
-----------------
1) Fixed bug where only one board would be found.
2) Added ability to directly access boards by CSN.

pnpdump (now v1.4)
------------------
1) Fixed bug where only one board would be found.
2) Output modified to generate a configuration file for isapnp.

Peter Fox
19-Apr-96

Changes since Release 1.2
=========================
isapnp (now v1.2)
-----------------
1) Now supports configuring Memory and DMA resources
2) Now has general PEEK and POKE of configuration regs
for handling vendor defined registers (and working
around bugs !).
3) Improved error messages - gives line number of error
and command if configuring devices.
4) Sample file updated to show examples of peek and poke.
5) Sample output file given too.
6) Now allow comments within the configuration commands.

pnpdump (now v1.3)
------------------
1) Fixed bug during display of memory resources.
2) Added ability to cope with broken boards that don't
reset their resource data pointers properly, as described
in the PnP spec section 4.5 para 2.

Peter Fox
29-Mar-96
