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

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

Software Wizard scripts are formed  by  examining  the  setup  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 
setup.  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  setup  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 its Smartrom settings. Smartrom resource are 
also  different  in that when writing a script, Hardware Wizard writes 
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 summarize, 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.   These  changes  are  done  in  the 
following  order:  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 --------
