PNPENABL.EXE and PNPENABL.OS2
=============================

                                            LSS 5.00(C), August 1996
                                            ------------------------

Summary 
-------

This  utility  can  be  used  to  configure and enable Madge Plug and 
Play (PnP) cards without the need to run DWCFGMG.SYS.

It is NOT a configuration manager like DWCFGMG.SYS and is intended  to
provide an alternative to configuring the cards into non-PNP mode.  It
does not become resident in memory and thus does  not  respond  to  CM
type requests from applications.

If  a  user  needs the facilities of a CM then they are advised to run
DWCFGMG.SYS or the equivalent utility supplied by their system vendor.

It will only configure and enable Madge  PNP  adapters  but  will  not
alter adapters that are already setup.


PNPENABL.EXE 
------------

Can be used under DOS or OS/2 (as a DOS utility).

It is run, from the DOS prompt, as follows :-

    PNPENABL [/io=iiii] [/int=nn] [/dma=dd] [/mem=mmmm] [options]

Where  "iiii"  is the IO address you want the first card to appear at,
"nn"  is the IRQ channel you want the first card to use,  "dd"  is the
DMA  channel you want the first card to use,  and where "mmmm"  is the
memory base address you want the first card to use.

The values of MEM, DMA, INT, and IO are limited to the values that the
PNP  adapter  requests in its internal tables,  you cannot configure a
card to any other value.

This will locate and configure multiple Madge PNP cards using any free
IO addresses, IRQ channels, DMA channels,  or SmartROM base addresses.
If the "/IO",  "/INT",  or "/MEM" switches are supplied then the first
card  found will be assigned these as long as they are free (if any is
in use by another card then a warning will be printed and a free value
will be used).

Other options are :-

        /quiet          - Suppresses all screen output
        /nomore         - Disables the screen paging facility
        /?              - Displays help information

Under DOS it may also be run from CONFIG.SYS with "DEVICE=PNPENABL.EXE
[....]".

The following is the list of error values returned by the  program  on
exit :-

        0       Success
        1       Not used
        2       Bad IO address given with /IO=
        3       Bad MEM address given with /MEM=
        4       Bad IRQ channel given with /INT=
        5       No PNP adapters found (card is non-functional ??)
        6       Bad DMA channel given with /DMA=
        7       Unable to deactivate the card
        8       Unable to set the IRQ channel
        9       Unable to set the IRQ type
       10       Unable to set the IO base address
       11       Unable to set the MEM base address
       12       Unable to activate the card


PNPENABL.OS2 
------------

PNPENABL.OS2 is a device driver for use in the CONFIG.SYS file of OS/2
systems.  It performs the same basic functionality as PNPENABL.EXE but
as an OS/2 device driver.

Unlike PNPENABL.EXE a small part of the driver remains resident.

Like  PNPENABL.EXE,  if  PNPENABL.CFG  is to be used it must be in the
same directory as PNPENABL.EXE.


General 
=======

The program uses a number of techniques to determine  if  a  given  IO
address,  IRQ channel or SmartROM base address is in use by some other
adapter, but all of them require that any drivers for those cards have
been run prior to running PNPENABL.EXE

If  PNPENABL.EXE  is run from the DOS prompt or part of CONFIG.SYS the
user must be aware that it will only detect IRQ's that are in use if a
driver  for  that  device is loaded.  PNPENABL should therefore be run
AFTER all other drivers have been loaded. If this is not possible then
the  user  should use PNPENABL.CFG to flag resources that will be used
by later drivers as "busy".

Under some circumstances it may not be practical to run these  drivers
before  PNPENABL.EXE in which case the user may create a configuration
file (PNPENABL.CFG)  that specifies additional resources that are  (or
will be) reserved for other cards or force resources as free.

PNPENABL.CFG is required to be in the same directory as PNPENABL.EXE.

The format of the PNPENABL.CFG file is as follows :-

[section-name] 
resource-to-make-busy 
resource-to-make-busy
[next-section-name] 
resource-to-make-busy 
resource-to-make-busy
.....

Where [section-name] is [IO], [MEM], [IRQ], [DMA].

E.G.

[IO]
  a20             
  a40
[irq]
  5
[mEm]
  d000
[DMA]
  3

Sets  IO  addresses  a20  and  a40  as "inuse",  sets IRQ channel 5 as
"inuse",  sets SmartROM base address d000:0 as unavailable,  and  sets
DMA channel 3 as "inuse".

N.B. 1. Memory and IO base addresses are ALWAYS assumed to be in
        HEXADECIMAL and the IRQ and DMA channel numbers are assumed 
        to be in decimal.

     2. Comments may be included in the PNPENABL.CFG file by 
        preceeding them with a ';' character.

     3. All strings may be in upper or lower case and spaces, tabs 
        and blank lines may be used freely.

     4. Ranges may be specified as :-

           1234-2345

        and the left hand number of the pair MUST be less than or
        equal to the right hand number.


                    ****** End of PNPENABL.TXT ******


