This is a short guide explaining the basic steps of building an ISA PnP
Adapter using Fairchild's PnP controller NM95MS18. 

Following files are provided for NM95MS18:

1) SMPL_18.ASM  --> Sample source code of PnP Resource data file
2) SMPL_18.BIN  --> Compiled version of SMPL_18.ASM
3) NPNP_18.ASM  --> Sample source code of Non-PnP Resource data file
4) MS18V2.EXE   --> Programming utility for programming NM95MS18
5) MS18V2.TXT   --> Readme file for MS18V2.EXE
6) ACT18.EXE    --> Utility that "activates" the PnP device. See Note#1 at the
		    bottom.
7) ISOLATE.EXE  --> Test utility for checking the PnP interface. 
8) ISOLATE.TXT  --> Readme file for ISOLATE.EXE

Note: ISOLATE.EXE is provided by the Microsoft in its executable form.

==========================================================================
                                GETTING STARTED
==========================================================================
Step 1) Building the Hardware:
   
NM95MS18 can be DIRECTLY interfaced to ISA bus. Hence most of the signals can 
be hooked to ISA bus directly.  Please refer the "typical sytem block diagrams" 
provided in the datasheet and build the Hardware.
   
Step 2) Programming:
   
Make sure NO other PnP card is present in the system other than the one
you are trying to use. This is required for PROGRAMMING the onchip EEPROM
of NM95MS18 device.

Program the binary file ( e.g. SMPL_18.BIN ) on to the device you are using
with the appropriate programming utility ( e.g. MS18V2.EXE ). This utility 
can be run from  DOS.
   	
If the programming went through successfully ( you will get appropriate
message on the screen ) proceed to Step #3.
        
Otherwise, 
	 - Make sure I/O Port address 0x203 is not used by other any
	   other card present in the system. The programming utility
	   makes use of this address to communicate with the PnP controller.
	   Normally this address is not used by any card on a PC.

	 - Recheck the signal connections to the device and try again.

Step 3)
   
Hard RESET or Power down the system and REBOOT. 

Step 4) 

Run ISOLATE.EXE Utility. You will get the following message :
       
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;	PNP Card Real Mode Isolation Program V2.3 (Plugfest) 	;
;	(C) Microsoft Corp, 1993-1994				;
;								;
;								;
;	   1 PNP Card(s) found					;
;								;
;	Reading.....						;
;								;
;								;
;								;
;	1) - View card resource information			;
;	2) - View current configuration for logical device	;
;	3) - Configure logical device				;
;	4) - Choose new card					;
;	5) - Exit						;
;								;
;	Enter choice - 						;
;								;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	

Step 5) SMILE !!!!
   
This assures that the Hardware you have built is good and the Plug-n-Play
interface is working properly. You can select choice#1, to view the file
that you just programmed.

Step 6) 
   
You may need to modify the sample Resource data file to suit your own
application. The sample file explains each section in detail. If you need
additional information refer the PnP ISA Specification document (Chapters
7 and 6 ).
   
Step 7) 
   
Compile the newly created Resource data file using the instructions given
in the sample file ( e.g. SMPL_18.ASM ).

Step 8) 
   
After you have compiled the file, repeat the Step #2 through Step #4.
Select the Choice#1 and scroll through it fully. If it goes through
without any "Error" message then the Resource data file you created is
GOOD.

On the otherhand, if there are errors, depending on the mistakes on the
file, it is possible that
   
    - ISOLATE.EXE does not detect any PnP card ( this means serious 
      mistakes in the file at the very beginning of the file !!! )
    - ISOLATE.EXE detected the PnP card but showed error like 
      
	     !ERROR! Fell through Small Tags...
 
If this is the case then notedown the location this error message is
displayed when you are scrolling through Choice#1 of ISOLATE utility.
Choice#1 basically reads the binary resource file you just programmed and
displays it in a readable format in the same order it reads the binary
file. Hence by noting down the point where the error occured, it is fairly
straight forward to localise it in the original source file and fix it.
      
==========================================================================

Note #1:
     
     Choice #3 of ISOLATE.EXE utility allows you to configure any PnP ISA
     card for a particular I/O base, IRQ, DRQ and memory setting, but       
     unfortunately it does not ACTIVATE the PnP card which is required for
     the card to function. To get around this issue, Fairchild provides a 
     utility called ACT18.EXE which will "Activate" the card and let you
     test the card for its onboard functions.
     Hence for testing puposes, first run ISOLATE.EXE and configure the card.
     Then run ACT18.EXE to enable the card.

Note #2:
     If you have a PnP system ( PnP BIOS on the mother board or WINDOWS'95
     operating system ) then you don't need these ISOLATE.EXE or ACTIVATE.EXE 
     utilities to run your card. If you are trying to test under WINDOWS'95
     system, you need a device driver for the card or you should select a
     compatible driver that WINDOWS'95 provides. 

Note #3:
     
     If you neither have a PnP BIOS nor WINDOWS'95 operating system, you
     have a third option of testing your PnP card by installing Plug-n-Play 
     ICU (ISA Configuration Utility ) supplied by Intel. This utility can 
     be downloaded from Intel's site on WWW. The address WWW address is
     
     http://developer.intel.com/design/motherbd/gen_indx.htm
     
Note #4:
     
     Plug-n-Play VENDOR-ID. 
     =====================
     If your company has an EISA ID, then the same can be used for 
     Plug-n-Play also. Otherwise you can send an email to 
     pnpid@microsoft.com for registration information.
     
Note #5:
      
     Programming the onchip EEPROM memory is required only ONCE, unless the
     programmed file requires modification.
     After "Programming" the device needs to be RESET by either applying a
     HARD RESET or powering down the system.

=============================================================================