Madge Wizard scripting information
==================================
                                               LSS 5.0(0), August 1996 
                                               -----------------------

Madge Wizard scripting - Software
=================================

Software Wizard scripts are formed by examining  the  set  up  of  the 
computer  and  the requirements of the installation process.  They are 
not just a simple record of the configuration files  AUTOEXEC.BAT  and 
CONFIG.SYS.    For  this  reason,  Software  Wizard  scripts  are  not 
human-readable and cannot be edited. The Software Wizard gives you the 
ability to edit scripts by loading them using the 'NORUNSCRIPT' option 
(see MWIZARD.TXT).  The loaded script is then modified by any  changes 
you  make  when  you  perform  an  installation  using Software Wizard 
'Maintain'.  The new script can then  be  saved  at  the  end  of  the 
installation  process.  Software  scripts  may  not work in situations 
where a number of protocols have been installed on  a  Ringnode  with, 
say  512K  of  RAM,  and  the  resulting script is then performed on a 
Ringnode with 128K of RAM.

When  a  script  is  run, any information in the script about Ringnode 
characteristics or application software is overridden by the  computer 
set  up.  For example, if your computer has Windows 3.1 installed, but 
the script has been saved in a Windows 3.0 environment, then  it  will 
be  assumed  that  you  really  wanted Windows 3.1 support rather than 
Windows 3.0.  All other information in the script,  concerning  driver 
software  and  driver  configuration  will  be applied to the computer 
setup.


Madge Wizard scripting - Hardware
=================================

Scripts for the Hardware Wizard are human-readable and are designed to 
be  understandable  and  easy  to write by hand. When you run Hardware 
Wizard in scripting mode, any changes you make to the set  up  of  the 
Ringnodes in your computer are recorded, and can be saved as a script. 
Note  that  running  Diagnostics  on  a  Ringnode  does not change the 
configuration, and hence cannot be recorded as a scripting action.

Two stage scripting is the recommended method for adding a Ringnode to 
your  computer. If you run the 'Two-stage Ringnode addition' option in 
Hardware Wizard (run with scripting enabled), then  you  can  add  the 
Ringnode  details  to  see if there are resources available to add the 
Ringnode, and you will be  shown  any  switch  settings  that  may  be 
needed.   After  powering down and inserting the new Ringnode, the two 
stage script  can  then  be  run,  configuring  the  Ringnode  to  the 
appropriate settings.

There are some example script files on the LSS 5.0(0) CD,  located  in 
the \LSS.500\MWIZARD\SCRIPTS\ directory.


Hardware Script file syntax
===========================

The script file has a particular format. It has two different types of 
sections.   The first of these is for system resources. The "[System]" 
section details resources that are known to be in use by  the  system. 
It  is  only automatically created for 2-stage Ringnode addition. When 
the script file is read in, any values found here are assumed to be in 
use by the system. Hence no Ringnodes can be given values  that  clash 
with  the values given here. If a Ringnode already has a value that is 
here then a resource clash error will be given.  The  second  type  of 
section  is  for  Ringnode  details An "[X]" section gives details for 
current and requested values for a Ringnode where 'X'  identifies  the 
Ringnode.   By  default  'X'  is "Smart 16/4 Ringnode". If required to 
identify the Ringnode better it may be more specific in which case  it 
will be one of the following:

Smart 16/4 AT Ringnode
Smart 16/4 PC Ringnode
Smart 16/4 ISA Client Ringnode
Smart 16/4 AT Plus Ringnode
Smart 16/4 ISA Client Plus Ringnode
Smart 16/4 AT PnP Ringnode
Smart 16/4 MC Ringnode
Smart 16/4 MC16 Ringnode
Smart 16/4 EISA Ringnode
Smart 16/4 MC32 Ringnode
Smart 16/4 PCMCIA Ringnode
Smart 16 Ringnode
Smart 16/4 PCI Ringnode
Smart 16/4 ISA Client PnP Ringnode


Within  either  of the sections, values for the various parameters can 
take one of several formats. By  default  IO  and  memory  values  are 
hexadecimal.  All other values are decimal unless preceded by '0x' in 
which case they are hexadecimal.  There are a number of special values 
which  some  parameters  can  take.  These  are "enabled", "disabled", 
"suggest" and "switch".  The  first  two  require  a  resource  to  be 
"enabled"  or  "disabled"  e.g.  Smartrom on an AT Plus. The "suggest" 
setting is used to program up a resource to the value suggested by the 
Hardware wizard without knowing what  that  value  is.   The  "switch" 
setting  is  used  to  ensure  that  a  resource  either is or will be 
programmed to reflect the switch setting, e.g. IO location  on  an  AT 
Plus.

Within  a  Ringnode  section  are  requirements  for current settings. 
Current settings are preceded by "old" e.g.  old_io, old_irq.   These 
help  to  identify  which  Ringnode to perform the script on. They are 
also used to check the setting of 2-stage  added  switched  Ringnodes. 
Requirements  for  new  software  programmed  settings  have  no "old" 
preceding them e.g. io, irq.  Only software configurable cards should 
have this type of setting given in a script file.

Smartrom settings do not exist in the "old" format. There  can  be  no 
identifying  a  Ringnode  by it's Smartrom settings. Smartrom resource 
are also different in that when  writing  a  script,  Hardware  Wizard 
write  out  all  Smartrom  parameters - whether they have been changed 
during the execution of the wizard or not. However, when a script file 
is read in, there is no  requirement  to  have  all  of  the  Smartrom 
parameters.  If  they  are missing, then the current Smartrom value is 
maintained. There is one slightly special Smartrom parameter, and that 
is the LAA parameter. It is never written out -  it  is  assumed  that 
there is no requirement to record a specific LAA in a script. However, 
LAA's can be given in a script when it is read in.

The order in which script reprogramming is done may be important.  The 
order  is  first  Smartrom  changes, then Mode changes, and then other 
resource changes.  Note this order is fixed. It does not  matter  what 
order  the  operations  were done in when the script was created.  The 
reason for this order is because it was decided that the  most  likely 
time  that  the  Smartrom  would  be visible would be before any other 
resources are changed. Also, the mode is changed next because changing 
the mode may allow extra resources to be programmed e.g. the interrupt 
can only be set to "suggest" after the mode has been changed from  PnP 
to non PnP.

So,  to  summarise,  when  a script file is parsed, the first Ringnode 
found to match the section name and old requirements,  will  have  any 
new  settings  programmed  on  it.  in the order of Smartrom changes , 
operational mode change, and finally other changes.


Script file parameters
======================

System parameters for the system section.

Parameter   Meaning                 Abbrev  Possible values list
-------------------------------------------------------------------
used_dma    DMA channels used       udma    0-15
                                           
used_io	    IO ranges used          uio     0-FFFF
                                           
used_irq    Interrupt channels      uirq    0-7
                                           
used_mem    Memory address ranges   umem    C0000-FFFFF
-------------------------------------------------------------------


General Ringnode parameters for a Ringnode section.

Parameter	  Meaning	          Abbrev  Possible values
---------------------------------------------------------------------
two_stage_script  Marks this script as a <None>  no, yes, 
		  Two-stage script.     	   false, true
		 			 	  
old_burnt_-       Current BIA, used to   obia    12 digit 
      in_address  identify PnP Ringnodes         hex string
		 			 	  
old_bus_mode	  Current bus mode.      obm     async, sync
		 			 	  
old_bus_timing	  Current bus timing.    obt     normal, other, 
		 			 	   rev4, rev3
		 			 	  
old_dma		  Current DMA channel..  odma    0-7, disabled
		                                
old_io		  Current base IO, used  oio     0-FFFF, switch
		  to identify some      	  
		  Ringnodes e.g. AT      	  
		  Plus.		 	  
		 			 	  
old_irq		  Current interrupt.     oirq    0-15
		 	                  	  
old_mode	  Current operational    omode   atp_native, 
		  mode.		 	   atp_at_mode, 
		 			 	   atpnp_pnp, 
		 			 	   atpnp_nonpnp, 
		 			 	   isapnp_pnp, 
		 			 	   isapnp_nonpnp
		                        	  
old_mmio	  Current base MMIO or   ommio   C0000-FFFFF, 
		  Memory setting.	 	   enabled, disabled
		                                
old_slot	  Current slot, used to  oslot   0-15
		  identify some         	  
		  Ringnodes	         	  
		  e.g. PCI		 	  
		 			          
old_slot_size	  Current slot size      oss     8,16
		  setting		 	  
		 			 	  
old_smartrom	  Current base Smartrom/ orom    C0000-FFFFF, 
		  Memory setting	 	   switch, 
		 			 	   enabled, disabled
		 			 	  
old_speed	  Current ringspeed      ospeed  4,16, switch
		 			 	  
old_xfer_width	  Current transfer       oxw     8,16,32
		  width		         
		 			 	  
bus_mode	  Requested bus mode on  bm      async, sync, 
		  exit                           suggest
		                                
bus_timing	  Requested bus timing   bt      normal, other, 
		  on exit		 	   rev4, rev3, 
		 	 		 	   suggest
		                                
dma		  Requested DMA channel  <None>  0-7, disabled,	
		  on exit		 	   suggest
		 			 	  
io		  Requested base IO on   <None>  0-FFFF, switch,
		  exit                  	   suggest
		                                
irq		  Requested interrupt on <None>  0-15, suggest 
		  exit		                 
		                                
mode		  Requested operational  <None>  atp_native, 
		  mode on exit	         	   atp_at_mode,
		 			 	   atpnp_pnp, 
		 			 	   atpnp_nonpnp, 
		 			 	   isapnp_pnp, 
		 			 	   isapnp_nonpnp
		                                
mmio		  Requested base MMIO /  <None>  C0000-FFFFF, 
		  Memory setting on exit	   switch,
		 			 	   enabled, disabled
		 			 	  
slot_size	  Requested slot size    ss      8,16, suggest
		  setting on exit	         
		 			 	  
smartrom	  Requested base         rom     C0000-FFFFF, 
		  Smartrom/Memory       	   switch,
		  setting on exit	 	   enabled, disabled,
		 			 	   suggest
		 			 	  
speed		  Requested ringspeed    <None>  4,16, switch, 
		  on exit		 	   uggest
		                                
xfer_width	  Requested transfer     xw      8,16,32, suggest
		  width on exit	 	  
----------------------------------------------------------------------


Smartrom parameters for a Ringnode section
==========================================

Parameters      Meaning                Possible values (single)
----------------------------------------------------------------------
laa	        Locally administered   12 digit hex string, disabled
	        address               	
	                              
prom_rx	        Promiscuous receive    no, yes, false, true
	                              
remote_boot     Remote boot enable     no, yes, false, true
	                              
rom_file        Type of Smartrom file  netware_remote_reset,
	                               netware_rpl, modular
	                              
diskette_boot   Allow boot from floppy no, yes, false, true
	                              
secure	        Fully secure against   no, yes, false, true
	        local booting	       
	                              
server_name     Remote reset server    up to 48 character string
	        name	               
	                              
image_name      Remote reset image     up to 12 character string
	        file name	       
	                              
default_scheme  Default booting scheme none, hard_disk, 
	                               netware_remote_reset, 
	                               remote_program_load, network
	                              
config_prompt   Display config utility no, yes, false, true
	        prompt before booting 
                                      
user_prompt     Allow user to choose   no, yes, false, true 
	        boot scheme	       
                                      
timeout_to_def  Timeout to use of      no, yes, false, true
	        default scheme	        
                                      
rpl_aware       Remote booting aware   no, yes, false, true
	        BIOS	               
                                      
netware_os2     Support RPL booting of no, yes, false, true
	        OS/2 from a NetWare   
	        server	               
                                      
pnp_support     Support PnP BIOS ROM   no, yes, false, true
	        signature 	       
----------------------------------------------------------------------

                --------- End of MWSCRIPT.TXT --------
